目录
incrbyfloat [incr-key] [f-num]
setrange [key] [index] [value]
getrange [key] [index1] [index2]
String
字符串类型
setnx
不存在才能设置,失败返回0
同时也可以这么写:set hello redis nx
setxx
set hello redis xx
只有存在才设置
mset
批量设置键和值
示例:mset a 1 b 2 c 3
mget
批量获取
示例:mget a b c
会返回1 2 3
incr [key]
计数器
示例:incr incr-key
每执行一次incr-key的值加一
decr
减数器
示例:decr incr-key
每执行一次incr-key的值减一
incrby [incr-key] [num]
以num为步长对incr-key进行加操作
incrbyfloat [incr-key] [f-num]
浮点数加
append
对字符串进行追加
ps:一个中文字符占据三个长度
strlen
返回字符串的长度
getset
先返回旧值,再进行值的覆盖
setrange [key] [index] [value]
在key的index位置,插入value值
getrange [key] [index1] [index2]
返回index1至index2的value值
Hash
类似于java中的hashmap,value对应了一个field和value
hset
设置一个hash结构
格式:hset [key] [field...] [value...]
示例:hset user:1 name lihua age 18
hget
返回指定field的value
格式:hget [key] [field]
示例:hget user:1 name
hdel
删除指定field
格式:hdel [key] [field]
示例:hdel user:1 age
hlen
返回hash中field的个数
格式:hlen [key]
示例:hlen user:1
hmget
返回hash中多个field的值
格式:hmget [key] [field...]
示例:hmget user:1 name age
hexists
判断hash中是否有指定field
格式:hexists [key] [field]
存在返回1反之为2
hkeys
返回hash中所有field
示例:hkeys user:1
hvals
返回hash中所有value
示例:hvals user:1
hgetall
返回hash中所有field和value
hincrby
格式:hincrby [key] [field] [num]
对field对应value自增
Hash与String对比
List
链表
lpush
在链表左边插入
示例:lpush demolist d c b a
rpush
在链表右边插入
示例:rlpush demolist a b c d
lrange
遍历输出节点
格式:lrange [key] [start] [stop]
示例:lrange demolist 0 2
ps:lrange demolist 0 -1遍历全部
lpop
链表弹出最左侧的元素
格式:lpop [key] [num]
示例:lpop demolist
返回元素a,此时再执行lrange demolist 0 -1会发现少了a
rpop
链表弹出最右侧的元素
lrem
删除链表中的指定数量的指定元素
格式:lrem [key] [num] [elem]
示例:lrem demolist 2 x
ltrim
裁剪链表
格式:ltrim [key] [start] [stop]
示例:ltrim demolist 0 1
lset
修改链表元素
格式:lset [key] [index] [elem]
示例:lset demolist 1 xxx
lindex
按索引取值
格式:lindex [key] [index]
示例:lindex demolist 1
llen
返回链表长度
格式:llen [key]
示例:llen demolist
blpop
格式:blpop [key] [timeout]
弹出元素,如果没有元素则阻塞,timeout设置为0则一直阻塞直至弹出元素,可以实现一个简单的消息队列
Set
无序集合,不允许重复
sadd
添加元素
格式:sadd [key] [elem...]
示例:sadd demoset a b c a
会返回3,因为不会插入重复元素
smembers
打印集合元素
格式:smembers [key]
示例:smembers demoset
ps:因为是无序集合,并不会顺序展示
srem
删除元素
格式:srem [key] [elem...]
示例:srem demoset c d
scard
计算集合长度
格式:scard [key]
示例:scard demoset
sismember
判断集合是否有指定元素
格式:sismember [key] [elem]
存在返回1反之0
srandmember [key] [count]
随机的返回集合元素,同时可以指定数量
spop
随机弹出集合中的一个元素
sinter [set1] [set2]
返回两个集合的交集
sunion [set1] [set2]
返回两个集合的并集
sdiff [set1] [set2]
返回集合的set1相对于set2的差集,也就是set1有的而set2没有的
sinterstore
操作后将结果保存到新的集合
格式:sinterstore [newset] [set1] [set2]
示例:sinterstore newset set1 set2
同理,union,diff也是一样的
Zset
有序集合,在set基础上增加了score字段,根据分数排序
zadd [key] [score] [member]
增加对应元素及分数
zcard
返回元素数量
格式:zcard [key]
zscore
返回对应member的score
格式:zscore [key] [member]
zrank
返回member对应的排名
格式:zrank
zrevrank
返回倒排
格式:zrevrank [key] [member]
zrem
删除元素
格式:zrem [key] [member...]
zincrby
增加元素分数
格式:zincrby [key] [num] [member]
zrange
排序
示例:zrange [key] [start] [stop] [withscores]
zrevrange
倒排序
zrangebyscore
根据分数排序
zrangebyscore [key] [min] [max]
zrangebyscore [key] [-inf] [+inf] [withscores]