laravel Redis键过期监听

laravel Redis键过期监听

官方术语:keyspace notification(键空间通知)

前言:
一、需求分析:

  • 对过期Key有个监听,实现定时任务
  • 本文所说的定时任务或者说计划任务并不是Crontab,比如说每天凌晨三点自动运行起来跑一个脚本
  • 这里所说的定时任务可以说是计时器任务,比如说用户触发了某个动作,那么从这个点开始过二十四小时我们要对这个动作做点什么。那么如果有 1000 个用户触发了这个动作,就会有 1000 个定时任务。于是这就不是 Cron 范畴里面的内容了。

二、Redis介绍

(1)Publish / Subscribe

 Redis 在 2.0.0 之后推出了 Pub / Sub 的指令,大致就是说一边给 Redis 的特定频道发送消息,另一边从 Redis 的特定频道取值——形成了一个简易的消息队列。

(2)Redis Keyspace Notifications

在 Redis 的 2.8.0 版本之后,其推出了一个新的特性——键空间消息(Redis Keyspace Notifications),它配合 2.0.0 版本之后的 SUBSCRIBE 就能完成这个定时任务

三、Key过期事件的Redis配置

这里需要配置 notify-keyspace-events 的参数为 “Ex”。x 代表了过期事件。notify-keyspace-events “Ex” 保存配置后,重启Redis服务,使配置生效。

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页