码迷,mamicode.com
首页 > 其他好文 > 详细

Redis Key过期通知

时间:2018-11-22 17:14:26      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:alt   portal   支持   数据   查找   com   两种   功能实现   配置   

概述

键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。如Redis数据库中键的过期事件也是通过订阅功能实现。本文主要基于Azure PaaS Redis演示相关功能的具体实现。

配置

因为开启键空间通知功能需要消耗一些 CPU , 所以在默认配置下, 该功能处于关闭状态。因为Azure Redis屏蔽了部分指令,不能直接使用cli指令设置notify-keyspace-events参数,目前可以通过Azure Portal管理门户直接设置。注意: 基本版的Redis还不支持设置该参数。

技术分享图片

操作演示

pub/sub
  • 使用Azure Console发布消息
    技术分享图片

  • 使用Cli工具订阅消息(注意使用cli连接Azure redis需要打开6379端口)
    技术分享图片

sub expired key event
  • 设置带有过期时间的key
    技术分享图片

  • 订阅过期key事件
    技术分享图片

注意

Redis 使用以下两种方式删除过期的键:

1、当一个键被访问时,程序会对这个键进行检查,如果键已经过期,那么该键将被删除。

2、底层系统会在后台渐进地查找并删除那些过期的键,从而处理那些已经过期、但是不会被访问到的键。

当过期键被以上两个程序的任意一个发现、 并且将键从数据库中删除时, Redis 会产生一个 expired 通知。

Redis 并不保证生存时间(TTL)变为 0 的键会立即被删除: 如果程序没有访问这个过期键, 或者带有生存时间的键非常多的话, 那么在键的生存时间变为 0 , 直到键真正被删除这中间, 可能会有一段比较显著的时间间隔。


参考链接

键空间通知(keyspace notification)

redis过期通知

Redis Key过期通知

标签:alt   portal   支持   数据   查找   com   两种   功能实现   配置   

原文地址:https://www.cnblogs.com/taro/p/10001820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!