redis的String、List、Hash、SET、ZSet五中数据类型常用的一些场景总结

目录

1、String类型常见的使用场景

1.1 一般的业务功能模块,比如购物车

1.2 简单的字符缓存

1.3 储存结构体或者对象

1.4 计数功能

1.5 各类场景下(单机或分布式)的标识号

1.6 集群环境下的Session共享

1.7 redis实现分布式锁

2 hash使用场景

3 list使用场景

3.1 微信公众号列表

4 set使用场景

4.1 微信抽奖活动

4.2 微信点赞设计

4.3 两个人共同兴趣爱好,微博共同关注人等

5 zset使用场景

5.1 常用于排行榜,视频点赞排行,关注排行


1、String类型常见的使用场景

1.1 一般的业务功能模块,比如购物车

设计key值的时候,尽量简洁、明了,比如xxx:cart:001表示某个用户的购物车信息

1.2 简单的字符缓存

项目中有些地方无法保存字符,可以存储到redis中,但是注意是否要设计加上过期时间和做好key的设计,否则redis莫名其妙的key会越来越多,难以维护

1.3 储存结构体或者对象

  • 首先把对象转换成json字符串
  • 然后set user:01 value
  • 或者直接存储mset user:1:name a user:1:age 18

1.4 计数功能

点赞数或者文章浏览数等,可以方便通过incr来增加,decr来减少点赞或浏览次数(

NCR article:001        GET  article:001

1.5 各类场景下(单机或分布式)的标识号

比如我们常用的mysql是使用主键自增的,我们可以借助redis来帮我们生成唯一的主键,但是如果一次添加的数据比较多,会对redis有较大压力,可以一次从redis获取多个主键编号,然后使用incrby一次性增加具体的数目:incrby serialNo 1000

1.6 集群环境下的Session共享

使用spring session与redis完成session共享

1.7 redis实现分布式锁

redis使用String+lua实现分布式锁

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值