redis五种数据类型已经使用场景

本文探讨了Redis如何利用List实现队列功能,Hash用于对象管理与序列化,以及Set在集合运算中的应用,包括交集、并集和差集。重点介绍了ZSET的排名功能。

String 

redis可以从链表的两端进行插入(pubsh)和弹出(pop)元素,充当队列或者栈

就是一个从左边存进去,一个从右边取出来,就是队列(一般不用做队列,因为不保证消息一定会消费)

List:存一些粉丝列表,文章评论列表等。Key就是偶像id,value就是粉丝id; 或者key是文章id,value是评论

 

Hash: 存对象

对一系列存储的数据进行编组,方便管理,典型应用存储对象信息。string类型也可以实现存对象,对这个对象进行json序列化,然后取的时候再进行反序列化,但是,每次修改的时候只能整体修改,不能单个修改某个属性,且必须有实体类型的支撑。序列化和反序列化也需要消耗服务器性能

 

SET:如共同好友  共同粉丝列表

 //增加集合元素信息
 jedis.sadd("set", "a", "b", "d", "f", "c");
 //获取集合set中的值(取出来每次都不一样,因为是无序的)
 Set<String> values= jedis.smembers("set");
 //System.out.println(values);

 //删除元素a
 //jedis.srem("set","a");
 //values= jedis.smembers("set");
// System.out.println(values);

 //元素的个数
// Long l= jedis.scard("set");
 //System.out.println(l);
 
 //获取差集(顺序换过来结果不一样)
// jedis.sadd("set", "a", "b", "d", "f", "c");
 jedis.sadd("set1", "a", "b", "13", "23", "c");
 Set<String> set2=jedis.sdiff("set","set1");
 System.out.println(set2);
 set2=jedis.sdiff("set1","set");
 System.out.println(set2);

 //返回给定所有集合的交集
 Set<String> set5 = jedis.sinter("set1","set");
 System.out.println("交集:"+set5);

 //返回给定所有集合的交集并存储在 destination 中
 jedis.sinterstore("set5","set1","set");
 values= jedis.smembers("set5");
 System.out.println("交集:"+values);

 //返回所有给定集合的并集
 Set<String> ss= jedis.sunion("set","set1");
 System.out.println("并集:"+ss);

ZSET:排行榜

//根据分数排行榜
        jedis.zadd("zset1",1.0,"小明");
        jedis.zadd("zset1",2.0,"小李");
        jedis.zadd("zset1",3.0,"小黄");
        jedis.zadd("zset1",4.0,"小红");

//取前3

        System.out.println("zset1:"+jedis.zrange("zset1",0,2));
        //去全部
        System.out.println("zset1:"+jedis.zrange("zset1",0,-1));
        //去全部反序
        System.out.println("zset1:"+jedis.zrevrange("zset1",0,-1));

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿甘带你学java

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值