字符串
自增和自减命令
命令 | 用法描述 |
incr | incr k1 键值+1 |
decr | decr k1 键值-1 |
decrby | decrby k1 15 键值-15 |
incrby | incrby k1 20 键值+20 |
incrbyfloat | incrbyfloat k1 8.8键值+8.8 |
字符串处理子串和二进制命令
命令 | 用法描述 |
append | append key value 追加到末尾 |
getrange | getrange key 0 -1 获取一定范围内子串 |
setrange | setrange key 1 newkey 从1开始设置新值newkey |
getbit | getbit key 8 获取key在位置8为0或为1 |
setbit | setbit key 8 1 设置key在位置8为1 |
bitcount | bitcount key 返回key中1的数量 |
bitop | bitop and/or/xor/not dest key 对key进行位运算,返回dest |
列表
除第一章命令外,加入了ltrim
用法:ltrim key 1 5
说明:获取key的子串,范围为1~5,1和5保留
命令 | 用法描述 |
blpop | blpop a 10从左弹出,若a为空,阻塞10秒 |
brpop | brpop a 10从右弹出,若a为空,阻塞10秒 |
rpoplpush | rpoplpush a dest 从a取出最右,放入dest最左端 |
brpoplpush | brpoplpush a dest 10同上,为空时阻塞10秒 |
集合
除第一章第二章命令外,加入了smove
smove source-key dest-key item 从source中移除item,将其加入到dest中
用于组合和处理多个集合的redis命令:
命令 | 用法描述 |
sdiff | sdiff k1 k2 k3 返回存在k1但不存在别的集合的值,即差集运算 |
sdiffstore | sdiff dest k1 k2 k3 返回存在k1但不存在别的集合的值,即差集运算,并存到dest中 |
sinter | sinter k1 k2 k3 计算集合的交集 |
sinterstore | sinter dest k1 k2 k3 计算集合的交集,并存到dest中 |
sunion | sunion k1 k2 k3 计算并集 |
sunionstore | sunion dest k1 k2 k3 计算并集并存到dest |
散列
hmset 一次可存多个 hmset key f1 1 f2 2 f3 3
hmget 一次可取多个 hmget key f1 f2 f3
hdel 一次可删多个 hdel key f1 f2
hlen 获取键值对数量 hlen key
其他特性:
命令 | 用法描述 |
hexists | hexists key f1 检查给定键是否存在 |
hkeys | hkeys key 获取所有键 |
hvals | hvals key 获取所有值 |
hgetall | hgetall key 获取所有键值对 |
hincrby | hincrby key f1 10 给指定键加指定数字10 |
hincrbyfloat | hincrbyfloat key f1 10.10 给指定键加指定浮点数10.10 |
有序集合
出现的新命令:
zcount 计算给定范围的值的数量
zcount key 1 100(统计1到100范围内的值的数量)
集合的范围型命令:
命令 | 用法描述 |
zrevrank | zrevrank key f1 由大到小排序的rank |
zrevrange | zrevrange key 0 -1由大到小的排序 |
zrangebyscore | zrangebyscore key 10 20返回10~20范围内的所有成员 |
zrevrangebyscore | 同上,但是由大到小 |
zremrangebyrank | zremrangebyrank a 0 1移除0~1的rank范围元素 |
zremrangebyscore | 同上,rank变为score |
zinterstore | zinterstore dest 2 k1 k2计算交集赋值给dest,2为数量,默认使用sum聚合,即结果相加 |
zunionstore | 同上,计算并集 |
发布与订阅
暂时跳过,详见第6章以及第8章
排序
对列表
lpush t 11 12 154 1 13 15
sort t
sort t desc limit 0 5 alpha(字符排序)
对集合
zadd q 15 q1 16 q2 14 q3
sort q by score
使用外部key进行排序
set a1 15
set a2 13
set a3 19
lpush key 1 2 3
sort key by a*
sort key get a*
其中*表示占位符,从key中取出1,2,3放到a*中
使用store即可将结果保存
sort key store newkey
Redis事务
在redis中执行事务,首先执行multi,然后输入事务,最后执行exec
multi
incr count
incr count
incr count
ping
exec(按照队列依次执行上述语句)
键的过期时间
persist | persist key 移除过期时间 |
ttl | ttl key 查看剩余过期时间 |
expire | expire key 60 设置过期时间 |
expireat | expireat key 1293804000 以时间戳设置过期时间 |
pttl | pttl key 查看过期毫秒 |
pexpire | pexpire key 1000 设置毫秒过期时间 |
pexpireat | pexpireat key 设置毫秒级时间戳为过期时间 |