分布式缓存Redis6常见数据结构+指令实战——大汇总

DBC 1.6K 0
首先我们先看最简单常见的数据结构——通用命令

exists 判断key是否存在
del 删除key
type 判断key类型
ttl 查看key存活时间

String结构——这是一种简单的key-value形式
平常我们使用的例子有:验证码、计数器、发号器、订单防重提交、热点商品卡片(序列化json对象存储)、分布式锁

set/get 设置和获取key-value
mget/mset 批量设置或获取多个key的值
例子:mget key[key ...] mset key value [key value...]
incr incr对key对应的值进行加1操作,并返回新的值;
例子:incr key
incrby 将key对应的数字加increment。如果key不存在,操作之前,key就会被置为0
例子:incrby key increment
setex 设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期,原子操作
例子:setex key seconds value
setnx 将key设置值为value,如果key不存在等同set命令。当key存在时什么也不做,是set if not exists的简写。
例子:setnx key value
getset 设置key的值,并返回key旧的值
例子:getset key_name value

注意:值的长度不能超过512MB
key命名规范,不要过长,冒号分割,业务名:表名:ID

List结构——字符串列表,按照插入顺序排序,双向链表,插入删除时间复杂度O(1)快,查找为O(n)慢
应用场景:简单队列,最新评论列表,非实时排行榜:定时计算榜单,如手机销榜单

lpush 将一个或多个值插入到列表头部
例子:lpush key value1 [value2]
rpop 移除并获取列表最后一个元素
例子:rpop key
llen 获取列表长度
例子:llen key
lindex 通过索引获取列表中的元素
例子:lindex key index
lrange 获取key对应的list的指定下标范围的元素,其中0表示列表的第一个元素

发表评论 取消回复
表情 图片 链接 代码

分享