Redis常用数据结构包括string、link、set、order set、hash
一、string结构及命令详解
//ex为秒,px为毫秒,同是设置以px为准
set key value [ex number | px number]=> 设置一个key-value键值对、可以指定生命周期
get key => 获取键值对中的值
mset key value [key value ...] => 批量设置键值对
mget key [key ...] => 批量获取键值对的值
setrange key offset value => 将字符串的偏转字节更改成value
getrange key start end => 读取字符串的部分值
getset key value => 读取旧值,将新值覆盖旧值
//数字型value的处理
incr key => 将值+1
decr key => 将值-1
incrby(decrby) key increment => 增加(减少)指定的值、在by后加float可以进行浮点数操作
二、link结构及命令详解
lpush(rpush) key value => 将值插入链表头部(尾部)
rpop(lpop) key => 返回并删除链表尾部(头部)元素
lrange key start stop => 返回链表中从start到stop的元素
lrem key count value => 删除链表中count个value,count为正从头部开始、为负从尾部开始
lindex key index => 返回指定index位置的值
llen key => 返回链表的长度
linsert key before|after pivot value => 查询链表中pivot的值,并在之前(之后)插入一个值
rpoplpush source destination => 将source尾部的值弹出,插入到destination的头部
三、set结构及命令详解
sadd key member [member ...] => 在集合中添加元素
smembers key => 返回集合中所有元素
srem key member [member ...] => 删除集合中的元素
spop key [count] => 随机弹出集合count个元素,默认为一个
srandmember key [count] => 随机获取set中count个的元素,默认一个
scard key => 返回集合中元素个数
smove source destination member => 将source中的member元素移动到destination中去
sinter key [key ...] => 求集合之间的交集
sunion key [key ...] => 求集合之间的并集
sdiff key [key ...] => 求集合之间的差集
sdiff[inter][union]store destination key [key ...] => 获取的同时放入destination集合中
四、order set结构及命令详解
//score为级别,member为值
zadd key [NX|XX] [CH] [INCR] score member [score member ...] => 向有序集合中添加元素
zrange key start stop [WITHSCORES] => 按权值大小读取元素
zrevrange key start stop [WITHSCORES] => 按权值大小逆序读取元素
zrangebyscore key min max [WITHSCORES] [LIMIT offset count] => 按权值取值
zrank(zrevrank) key membe => 获取值在有序集合中的顺序(逆序)位置
zrem key member [member ...] => 按值删除元素
zremrangebyscore key min max => 按权值大小范围删除元素
zremrangebyrank key start stop => 按排名范围删除元素
zcard key => 返回有序集合中元素的个数
zcount key min max => 返回在范围内的元素的个数
//计算各个有序集的运算;numkeys为集合个数、WEIGHTS 为加权数、AGGREGATE 后接运算规则
zinterstore destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
网友评论