Redis数据结构

Sorted-Set

sorted-set 中的成员在集合中的位置是有序的

存储sorted-set常用命令

添加元素:zadd sort1 5 a 4 b 6 c(我们添加集合sort1 元素是a,b,c 评分分别是5,4,6,集合里的排序是根据评分从小到大排序的)

获得元素:zrange sort1 0 -1(zrange是查找元素,-1代表是最后一个,如果继续进行添加的话,加入元素集合里面已经有了,则覆盖,加入添加的元素不在集合中,则添加进去)zscore sort1  b通过zscore获取b的评分

删除元素:zrem sort1 b

范围查询:zcard  sort1(查看集合里元素的个数),zrange sort1 0 -1 withscores (withscores  把评分也显示出来)

扩展命令:

zrevrange sort1 0 -1 withscores(zrevrange 降序排列)

 zremrangebyrank sort1 0 2(zremrangebyrank 根据排名来删除元素  删除3个)

zremrangebyscore sort1 10 16(zremrangebyscore 根据具体评分范围来删除元素)

 zrangebyscore sort1 18 23 withscores(zrangebyscore 根据评分范围来查找元素)

 zrangebyscore sort1 18 23 withscores limit 0 2(limit 限定查找起始 类似分页)

 zincrby sort1 5 h(zincrby 给指定元素加分)

 zcount sort1 20 23(zcount 查找指定评分范围的元素个数)

sorted-score 使用场景:大型游戏积分排行榜,构建索引数据。

Set

 和List类型不同的是,Set集合中不允许出现重复的元素

 Set可包含的最大元素数量是4294967295。

sadd set1  a b c:添加set元素

 smembers set1:查看指定key集合元素

重复的元素不会进行添加。

 srem set1 a d:删除元素

sismember set1 a:判断元素是否存在,如果存在的话,返回1,否则返回0.

sdiff set2 set3:计算差集,集合的顺序不同,结果不同( sadd set2 a b c,sadd set3 b c d e,sdiff set2 set3的结果是“a”,而sdiff set3 set2的结果是“d”,“e”)

 sunion set2 set3:计算并集

 scard set1:计算元素总数

 srandmember set1:随机去一个元素

 sinterstore r2 set2 set3:把交集结果存储到新集合中

 sunionstore r3 set2 set3:把并集结果存储到新集合中

存储set使用场景,跟踪一些唯一性数据,用于维护数据之间的关联关系

LIst

在java中list有两大类,数组ArrayList和LinkList

 lpush l1 a b c d:左边开始添加

 lrange l1 0 -1:从第1个开始 到倒数第一个 也就是最后一个 也就是 所有数据

lrange l1 0 6:获取从第1个到第6个集合元素

 rpush l2 a b c d:rpush 从右端开始添加(一般人比较习惯这种方式)

lpop 左侧弹出集合元素,rpop 右侧弹出集合元素

llen查看元素个数

lpushx 集合头部插入元素,lpush集合头部插入多个元素

rpushx 集合尾部插入元素,rpush集合头部插入多个元素

lrem 从指定方向删除指定个数的指定元素:lrem l2 2 1(从左边开始删除2个1) ,lrem l3 -2 3 (从右边开始删除2个3),lrem l3 0 2 (删除所有2),

Hash

String key 和String valuede Map容器

Hash可以设置单个字段,也可以多个字段一起进行设置。hset h1 username hss.hmset h2 username hss password 533533.

hget h1 username;hmget h2 username password,hgetall h2.获取Hash

hdel 删除属性,可以一次删除一个或者多个 

hincrby h3 age 20:增加数字

hexists判断字段是否存在 1表示存在 0表示不存在

hlen获取hash属性个数

hkeys获取所有属性名称

hvals获取所有属性值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值