你项目中使用过Redis的那些数据结构?

26 篇文章 0 订阅
15 篇文章 0 订阅
本文讨论了在项目中如何利用Redis的各种数据结构如String、Hash、Set等进行缓存和功能实现,重点介绍了签到功能中BitMap的高效使用。同时探讨了Redis的高可用性和数据持久化解决方案,以及何时选择传统数据库或Redis来处理大规模签到数据的问题。
摘要由CSDN通过智能技术生成

你项目中使用过Redis的那些数据结构啊?

很多,比如String、Hash、Set、SortedSet、BitMap等

能不能具体说说使用的场景?

比如很多的缓存,我们就使用了String结构来存储。还有点赞功能,我们用了Set结构和

zSet结构。签到功能,我们用了BitMap结构。

就拿签到来说吧。因为签到数据量非常大嘛,而BitMap则是用bit位来表示签到数据,31bit位就能表示1个月的签到记录,非常节省空间,而且查询效率也比较高

你使用Redis保存签到记录,那如果Redis宕机怎么办?

对于Redis的高可用数据安全问题,有很多种方案。 比如:我们可以给Redis添加数据持久化机制,比如使用AOF持久化。这样宕机后也丢失的数据量不多,可以接受。

或者呢,我们可以搭建Redis主从集群,再结合Redis哨兵。主节点会把数据持续的同步给从节点,当即后也会有哨兵重新选主,基本不用担心数据丢失问题。

当然,如果对于数据的安全性要求非常高。肯定还是要用传统数据库来实现的。但是为了解决签到数据量较大的问题,我们可能就需要对数据做分表处理了。或者及时将历史数据存档。 总的来说,签到数据使用Redis的BitMap无论是安全性还是数据内存占用情况,都是可以接受的。但是具体是选择Redis还是数据库方案,最终还是要看公司的要求来选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值