加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.cn/)- 图像处理、低代码、云通信、数据工具、物联设备!
当前位置: 首页 > 站长资讯 > 评论 > 正文

究竟啥时候选Redis?

发布时间:2021-03-05 11:13:43 所属栏目:评论 来源:互联网
导读:库用,这样的设计八成是错误的。 缓存场景,开启固化功能,有什么利弊? 如果只是缓存场景,数据存放在数据库,缓存在redis,此时如果开启固化功能: 优点是,redis挂了再重启,内存里能够快速恢复热数据,不会瞬时将压力压到数据库上,没有一个cache预热的过

库用,这样的设计八成是错误的。

缓存场景,开启固化功能,有什么利弊?

如果只是缓存场景,数据存放在数据库,缓存在redis,此时如果开启固化功能:

优点是,redis挂了再重启,内存里能够快速恢复热数据,不会瞬时将压力压到数据库上,没有一个cache预热的过程。

缺点是,在redis挂了的过程中,如果数据库中有数据的修改,可能导致redis重启后,数据库与redis的数据不一致。

因此,只读场景,或者允许一些不一致的业务场景,可以尝试开启redis的固化功能。

三、高可用,选择redis更合适

redis天然支持集群功能,可以实现主动复制,读写分离。

redis官方也提供了sentinel集群管理工具,能够实现主从服务监控,故障自动转移,这一切,对于客户端都是透明的,无需程序改动,也无需人工介入。

画外音:memcache,要想要实现高可用,需要进行二次开发,例如客户端的双读双写,或者服务端的集群同步。

但是,这里要提醒的是,大部分业务场景,缓存真的需要高可用么?

  • 缓存场景,很多时候,是允许cache miss;
  • 缓存挂了,很多时候可以通过DB读取数据;

所以,需要认真剖析业务场景,高可用,是否真的是对缓存的主要需求?

画外音:即时通讯业务中,用户的在线状态,就有高可用需求。

四、存储的内容比较大,选择redis更合适

memcache的value存储,最大为1M,如果存储的value很大,只能使用redis。

当然,redis与memcache相比,由于底层实现机制的差异,也有一些“劣势”的情况。

情况一:由于内存分配机制的差异,redis可能导致内存碎片

memcache使用预分配内存池的方式管理内存,能够省去内存分

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读