跳至主要內容

Redis命令

知识库集成配置缓存ReidsRedis大约 3 分钟

官方命令大全网址:http://www.redis.cn/commands.htmlopen in new window

数据类型

数据类型简单描述使用场景
String常规的 key-value 缓存应用场景:共享用户 session,计数器(INCR),分布式锁(setnx)
hashstring 类型的 field 和 value 的映射表,适合用于存储对象场景:爆品商品,秒杀仓库,库存量
list存储列表结构,有序(插入顺序)可重复,基于lrange可实现简单的高性能分页场景:文章的评论,简单的消息队列
set无序,不重复场景:共同好友,共同喜好,二度好友(你可能认识)
Zset内部使用 HashMap 和跳跃表(SkipList)来保证数据的存储和有序场景:排行榜,有权重的消息队列,热搜,
BitMap通过一个 bit 位来表示某个元素对应的值或者状态场景:统计用户的活跃数,在线人数
HyperLogLog基于 bitmap 计数,内部编码主要分稀疏型和密集型场景:记录网站 IP 注册数,每日访问的 IP 数,页面实时 UV、在线用户人数
Geospatial场景:保存地理位置,位置距离计算,根据半径计算位置

Redis 基本命令

数据类型redis 命令命令说明
通用指令del key删除指定的 key
exists key指定的 key 是否存在
type key获取 key 的类型
expire key seconds设置有效时间,单位:秒
pexpire key milliseconds设置有效时间,单位:毫秒
expireat key timestamp设置时间戳,单位:秒
pexpireat key milliseconds-timestamp设置时间戳,单位:毫秒
ttl key返回有效时间,单位:秒,key 存在但未设置有效时间,则返回-1
pttl key返回有效时间,单位:毫秒,key 不存在,则返回-2
persist key将 key 从时效性切换为永久性
keys *pattern 是匹配模式,若是指定为 * 则查询所有 key
rename key newkey重命名,覆盖式
renamenx key newkey重命名,newkey 存在则报错
dbsize返回当前数据库的 key 数量
flushdb清空当前数据库的 key
flushall清空所有数据库的 key
Stringmset name lisi age 30 gender 1一次性保存多个数据
mget name age gender一次性取出多个数据
strlen name字符串长度
append name abc字符串追加
incr num自增一
incrby num 2自增指定步长
incrbyfloat num 0.5自增小数
decr num自减一
decrby num 2自减指定步长
decrbyfloat num 0.5自减小数
setex key seconds 1设置 key 的有效期,单位是秒
psetex key milliseconds 1000设置 key 的有效期,单位是毫秒
del name删除 name
hashhmset user name zhangsan age 20同时设置多个属性
hgetall user将属性一次性读取出来
hmget user name age获取指定属性
hdel user name删除属性
hlen userhash 中属性的数量
hexists user name判断 hash 中是否存在指定的属性,存在返回 1,不存在返回 0
hincrby user age 1属性自增
hincrbyfloat user age 0.5属性自增小数
hincrby user age -1属性自减
listlpush nums 1 2 3 4 5从左侧添加
rpush nums 1 2 3 4 5从右侧添加
lrange nums 0 4读取的索引范围
lpop key从左侧弹出数据
rpop key从右侧弹出数据
lrem nums 1 2从数据中移除[cout]个指定数据[value]
lindex nums 0获取指定索引上的数据
llen nums获取 list 的长度
blpop nums 2 3 30规定时间内获取并移除数据、blpop key1 [key2] timeout
setsadd nums 1 2 3添加数据
smembers nums获取到 set 中的所有数据
srem nums 1 2删除数据
sismember nums 1判断 set 中是否包含指定的数据
sorted_setzadd scores 95 chinese 98 math 85 english保存数据
zrange scores 0 -1获取全部数据
zrange scores 0 -1 withscores排序的方式获取数据
zrevrange scores 0 -1 withscores逆序的方式获取数据
zrem scores chinese math删除数据
zrangebyscore scores 0 95其中 scores 是 key, 0 95 是查找范围
zrangebyscore scores 0 100 limit 0 2查询分数在 100 以下的前两个数据