> 文章列表 > redis set list

redis set list

redis set list

List

list:
插入命令:lpush / rpush
查看list列表所有数据(-1 表示最后一个):lrange key 0 -1
查看列表长度(key 不存在则长度返回0 ): llen key
在这里插入图片描述

list长度
在这里插入图片描述

获取下表 为 0 的元素
在这里插入图片描述

修改下标为0的元素,改为haha
在这里插入图片描述

移除列表的第一个元素 或最后一个元素
lpop
在这里插入图片描述
rpop
在这里插入图片描述

在 列表key1中 元素v3前 插入元素ccc,在v3后插入元素ddd
在这里插入图片描述

尾删头插:rpoplpush list1 list2
在key1 尾删除一个元素,并把这个元素插入到 key2 的头部
在这里插入图片描述

Set集合:功能和list相似,只是去重了元素

添加和查看
在这里插入图片描述
在这里插入图片描述

集合是否包含元素 sismember key value
在这里插入图片描述

删除集合中的元素
在这里插入图片描述

随机弹出一个元素
在这里插入图片描述

随机弹出集合中两个元素,但是不删除原集合元素
在这里插入图片描述

将v2从集合 set1 移到 集合set2中
在这里插入图片描述

交集 sinter
并集 sunion
差集( set1全部元素且不包含set2元素 ): sdiff set1 set2
在这里插入图片描述

zset集合,也叫sort set: 在set基础上加了排序功能

增加 两条数据 并按着score 升序 或降序
在这里插入图片描述
降序
在这里插入图片描述

返回指定score区间的元素数量
在这里插入图片描述

返回指定元素的score
在这里插入图片描述

指定元素的score + 100 或 -100
在这里插入图片描述

升序/降序score 获取指定元素的排名
在这里插入图片描述

移除指定元素 zrem key value
在这里插入图片描述

zset 适合做延时队列,超时未支付删除该订单
例如:时间戳作为score,订单号为value
zadd dingdanset 18907234 D1001
zadd dingdanset 18907235 D1002

轮询获取Zset集合,判断时间戳是否超时
伪代码
while(true){Thread.sleep(500)//获取set 集合并按着时间戳升序排序set<object> sets = redis.get(key)//只取第一个int score  = sets[0].get("score");if( 当前时间戳 >= score ){//做未支付的逻辑...//且移除该订单zrem(dingdanset,D1001);}
}

宠物资料大全