> 文章列表 > redis set list

redis set list

redis set list

List

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

list长度
redis set list

获取下表 为 0 的元素
redis set list

修改下标为0的元素,改为haha
redis set list

移除列表的第一个元素 或最后一个元素
lpop
redis set list
rpop
redis set list

在 列表key1中 元素v3前 插入元素ccc,在v3后插入元素ddd
redis set list

尾删头插:rpoplpush list1 list2
在key1 尾删除一个元素,并把这个元素插入到 key2 的头部
redis set list

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

添加和查看
redis set list
redis set list

集合是否包含元素 sismember key value
redis set list

删除集合中的元素
redis set list

随机弹出一个元素
redis set list

随机弹出集合中两个元素,但是不删除原集合元素
redis set list

将v2从集合 set1 移到 集合set2中
redis set list

交集 sinter
并集 sunion
差集( set1全部元素且不包含set2元素 ): sdiff set1 set2
redis set list

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

增加 两条数据 并按着score 升序 或降序
redis set list
降序
redis set list

返回指定score区间的元素数量
redis set list

返回指定元素的score
redis set list

指定元素的score + 100 或 -100
redis set list

升序/降序score 获取指定元素的排名
redis set list

移除指定元素 zrem key value
redis set list

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);}
}

宠物资料大全