Redis五种数据类型的应用场景

Redis五种数据类型的应用场景

String应用场景

string类型是二进制安全的,redis的string可以包含任何数据,如图像、序列化对象。一个键最多能存储512MB。==二进制安全是指,在传输数据的时候,能保证二进制数据的信息安全,也就是不会被篡改、破译;如果被攻击,能够及时检测出来

1.String通常用于保存单个字符串或JSON字符串存储数据
2.因为String是二进制安全的,所以可以把保密性要求高的图片文件内容作为字符串来存储
3.计数器:常规key-value缓存应用,如微博数、粉丝数,INCR本身就具有原子性特性,所以不会有线程安全问题。

hash应用场景

Redis hash是一个string类型的field和value的映射表,hash特别适用于存储对象。每个hash可以存储232-1键值对。可以看成KEY和VALUE的MAP容器。相比于JSON,hash占用很少的内存空间。Hash的应用场景,通常用来存储一个用户信息的对象数据。

1、相比于存储对象的string类型的json串,json串修改单个属性需要将整个值取出来。而hash不需要。
2、相比于多个key-value存储对象,hash节省了很多内存空间
3、如果hash的属性值被删除完,那么hash的key也会被redis删除

list应用场景

1.对数据大的集合数据删减,如列表显示、关注列表、留言评价…分页、热点新闻等

2、任务队列,list通常用来实现一个消息队列,而且可以确保先后顺序,不必像MySql那样通过order by来排序

Set应用场景(唯一、无序)

对两个集合间的数据进行交集、并集、差集运算

1、以非常方便的实现如共同关注、共同喜好、二度好友等功能。对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存储到一个新的集合中

2、利用唯一性,可以统计访问网站的所有独立 IP

SortedSet应用场景(有序且不重复)

常用于排行榜:

1、如推特可以以发表时间作为score来存储

2、存储成绩

3、还可以用zset来做带权重的队列,让重要的任务先执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值