list 双向链表 有存取顺序 可重复


从左/右添加/修改数据
lpush key value1 [value2] …
rpush key value1 [value2] …
获取数据
lrange key start stop //获取从左数第start到stop个元素,从0开始
lindex key index //查询第i个元素
llen key //list的长度
获取并移除数据
lpop key //获取并删除左边第一个元素
rpop key //获取并删除右边第一个元素
扩展操作
规定时间内获取并移除数据
blpop key1 [key2] timeout
brpop key1 [key2] timeout
hash (map(k-v))
支持对field进行数值计算
应用场景:点赞、收藏、详情页(面向一个人/一个事物的doc)
添加/修改数据
hset key field value
获取数据
hget key field
hgetall key
删除数据
hdel key field1 [field2]
添加/修改多个数据
hmset key field1 value1 field2 calue2
获取多个数据
hmget key field1 field2 …
获取哈希表中字段的数量
hlen key
获取哈希表中是否存在指定的字段
hexists key field
获取哈希表中所有的字段名和字段值
hkeys key //字段名
hvals key //字段值
设置指定字段的数值数据增加指定范围的值
hincrby key field increment //指定数值增长指定的数
hincrbyfloat key field increment
set 无序 去重
集合操作
求两个集合的交、并、差集
sinter key1 [key2] //交集
sunion key1 [key2] //并集
sdiff key1 [key2] //差集(key1有但是key2没有的)
求两个集合的交、并、差集并存储到指定集合中
sinterstore destination key1 key2
sunionstore destination key1 key2
sdiffstore destination key1 key2
随机事件:
srandmember key count
正数:取出一个去重结果集 不能超过已有集合
负数:取出一个可带重复的结果集,满足你要的数量
0:不返回
应用场景:抽奖 奖品:10
用户:<10/>10
中奖:是否多次
正数:每人最多一份礼物
负数:人数可以大于礼物数,一人可以多份
spop key:
年会抽奖(一次只取出一个)
sorted set(zset)
物理内存左小右大排序
不随命令发生变化
zrange
zrevrange

添加数据
zadd key score1 member1 [score2 member2]
获取全部数据
zrange key start stop [WITHSCORES]//按照从小到大的顺序,加上WITHSCORES,就会带上scores一起显示
zrevrange key start stop [WITHSCORES]//按照从大到小的顺序
删除数据
zrem key member [member …]
按条件获取数据
//查询scores在某个范围内的值
zrangebyscore key min max [WITHSCORES] [LIMIT]
//查询key某个索引范围内的值
zrevrangebyscore key max min [WITHSCORES]
条件删除
zremrangebyrank key start stop
zremrangebyscore key min max
注意:
min与max用于限定搜索查询的条件
start与stop用于限定查询范围,作用于索引,表示开始和结束索引
offset与count用于限定查询范围,作用于查询结果,表示开始位置和数据总量
获取集合数据总量
zcard key //获取总量
zcount key min max //获取某一个范围的总量
集合交、并存储操作
zinterstore destination numkeys key [key …] //求和
zunionstore destination numkeys key [key …]
集合操作:权重 /聚合指令
获取数据对应的索引(排名)
zrank key member //正数第几位
zrevrank key member //倒数第几位
score 值获取与修改
zscore key member //获取
zincrby key increment member //score递增 increment
排序时怎么实现的,增删改查的速度?
底层是用的存储结构:skip list(跳跃表)
储存空间换速度

平均的增、删、改、查的速率相对最优(大数据量综合评估)
参考:redis数据类型详解及应用场景:

本文详细解读了Redis中list、hash、set和sortedset的数据类型,涵盖了添加、修改、获取、删除以及高级操作,适合深入理解Redis在实际应用中的高效存储和处理。
674

被折叠的 条评论
为什么被折叠?



