通过 Redis 定时执行脚本
方法一
之前我在简书上写过 通过监听redis的key失效事件,来定时进行业务逻辑操作。具体我这不在重复说明了-传送门。
方法二
第一种方式由于很吃Redis的稳定性,万一Redis的服务可不用那么,将有一部分的数据丢失,所以改进一下Redis使用方式-有序集合。
- 加入队列
const LISTEN_REDIS_NAME = 'eeop:axb:bind_log';//定时解绑做判断处理 const AUTO_TIMEOUT = 60;//自动解绑60s //加入队列 有序队列 $this->redis::zadd(self::LISTEN_REDIS_NAME, time() + self::AUTO_TIMEOUT, $this->bind_id);
2.解绑服务
$list = $this->redis::ZRANGEBYSCORE(self::LISTEN_REDIS_NAME,0,time()); foreach ($list as $value){ $this->redis::zrem(self::LISTEN_REDIS_NAME, $value); }
PS:之后要是数据量大的话 可以通过集群的方式的进行稳定扩容
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: