「Redis入门」数据操作
redis是key-value的数据,所以每个数据都是一个键值对。
-
键的类型是字符串
-
值的类型分为五种
- 字符串string
- 哈希hash
- 列表list
- 集合set
- 有序集合zset
String 字符串
简介
- string是redis最基本的类型
- 最大能存储512MB数据
- string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等
命令
新增
选择数据库(默认为0):
SELECT db
设置键值:
SET key value
设置键值及过期时间(以秒为单位):
SETEX key seconds value
设置多个键值:
MSET key value [key value ...]
查询
根据键获取值,如果不存在此键则返回nil:
GET key
根据多个键获取多个值:
MGET key [key ...]
更新
追加值(字符串后面增加):
APPEND key value
运算
要求:值是数字。
将key对应的value加1:
INCR key
将key对应的value加整数:
INCRBY key increment
将key对应的value减1:
DECR key
将key对应的value减整数:
DECRBY key decrement
其他
获取值长度:
STRLEN key
键命令
查找键,参数支持正则:
查找键,参数支持正则:
KEYS pattern
判断键是否存在,如果存在返回1,不存在返回0:
EXISTS key [key ...]
查看键对应的value的类型:
TYPE key
删除键及对应的值:
DEL key [key ...]
设置过期时间,以秒为单位:
创建时没有设置过期时间则一直存在,直到使用使用DEL移除
EXPIRE key seconds
查看有效时间(以秒为单位):
TTL key
Hash 哈希
简介
hash用于存储对象,对象的格式为键值对。
命令
创建
设置单个属性:
HSET key field value
设置多个属性:
HMSET key field value [field value ...]
查询
获取一个属性的值:
HGET key field
注意这里的查询和string类型不同,需要具体到属性名。
获取多个属性的值:
HMGET key field [field ...]
获取所有的属性:
HGETALL key
获取所有值:
HVALS key
获取所有属性和值:
HGETALL key
获取属性的个数:
HLEN key
获取属性的长度:
HLEN key
判断属性是否存在:
HEXISTS key field
删除
删除属性及值:
HDEL key field [field ...]
List 列表
简介
- 列表的元素类型为string
- 按照插入顺序排序
- 可在列表的头部或者尾部添加元素
命令
新增
在头部(left)插入数据:
LPUSH key value [value ...]
在尾部(right)插入数据:
RPUSH key value [value ...]
> 注意插入顺序,`LPUSH`越晚插入的排在越前面。
在一个元素的前|后插入新元素:
LINSERT key BEFORE|AFTER pivot value
设置指定索引的元素值:
LSET key index value
说明:索引从0开始,负数表示从尾部开始。
查询
返回存储在 key 的列表里指定范围内的元素:
LRANGE key start stop
返回列表里索引对应的元素:
LINDEX key index
返回存储在 key 里的list的长度
LLEN key
更新
裁剪列表,改为原集合的一个子集:
LTRIM key start stop
删除
移除并且返回 key 对应的 list 的第一个元素:
LPOP key
移除并返回存于 key 的 list 的最后一个元素:
RPOP key
移除 key 的 list 的所有元素:
LTRIM SearchIndex 1 0
即 ltrim key start end
中的start要比end大即可,且数值都为正数。
Set 无序集合
简介
- 无序集合
- 元素为string类型
- 元素具有唯一性,不重复
命令
创建
添加元素:
SADD key member [member ...]
查询
返回集合所有的元素:
SMEMBERS key
返回集合元素个数:
SCARD key
计算
求多个集合的交集:
SINTER key [key ...]
求某集合与其它集合的差集:
SDIFF key [key ...]
求多个集合的合集:
SUNION key [key ...]
判断元素是否在集合中
SISMEMBER key member
Zset 有序集合
简介
- sorted set,有序集合
- 元素为string类型
- 元素具有唯一性,不重复
- 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序,元素的score可以相同
这里说score可以相同,但是实际上我插入的相同的后面会把前面的给替换掉。
命令
创建
添加:
ZADD key score member [score member ...]
查询
返回指定范围内的元素:
ZRANGE key start stop
返回元素个数:
ZCARD key
返回有序集key中,score值在min和max之间的成员:
ZCOUNT key min max
返回有序集key中,成员member的score值:
ZSCORE key member