redis 惊群的处理

 缓存惊群现象,在各种缓存中都会存在这种现象,这里以Redis为例,提供一种解决思路,留作参考~

 

首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会有这么一种情况发生,那就是当一个缓存数据失效之后会导致同时有多个并发线程去向后端数据库发起请求去获取同一个数据,这样如果在一段时间内同时生成了大量的缓存,然后在另外一段时间内又有大量的缓存失效,这样就会导致后端数据库的压力突然增大,这种现象就可以称为“缓存过期产生的惊群现象”!

 

 

代码如下:

 

/**

     * 获取缓存

     * @param $key string $name

     * @return array,object,number,string,boolean

     * @desc 使用了“锁机制”来防止防止缓存过期时所产生的惊群现象,保证只有一个进程拉取数据,可以更新,其他进程仍然获取过期数据

     */

    public function getByLock($key)

    {

        $sth

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis集群故障处理是指在Redis分布式集群中,当出现故障或异常情况时,需要采取相应的措施来恢复正常运行。以下是一些常见的Redis集群故障处理方法: 1. 主节点故障:当Redis主节点发生故障时,需要进行主从切换。首先,从节点会自动被选举为新的主节点。然后,需要将其他从节点重新配置为新的主节点的从节点。最后,将原来的主节点修复后重新加入集群。 2. 从节点故障:当Redis从节点发生故障时,可以通过以下步骤进行处理。首先,检查从节点是否可以修复,如果可以修复,则进行修复操作。如果无法修复,则将该从节点从集群中移除。然后,重新配置其他从节点以连接到其他可用的主节点。 3. 集群分区:当Redis集群发生分区时,即集群中的节点无法相互通信时,需要进行分区处理。首先,需要确定哪些节点处于不同的分区中。然后,可以选择手动合并分区或者等待网络问题解决后自动合并分区。 4. 数据丢失:当Redis集群中的数据丢失时,可以通过备份和恢复操作来解决。首先,需要确保有可用的数据备份。然后,可以使用备份数据来恢复丢失的数据。 5. 网络故障:当Redis集群中发生网络故障时,需要检查网络连接是否正常。如果网络连接正常,则可能是由于其他原因导致的故障,需要进行相应的排查和修复。 以上是一些常见的Redis集群故障处理方法,具体的处理方法可能会因实际情况而有所不同。在处理故障时,建议参考Redis官方文档和相关资源,以获取更详细和准确的信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值