当前位置: 首页 > news >正文

优秀网站管理员/国家卫健委:不再发布每日疫情信息

优秀网站管理员,国家卫健委:不再发布每日疫情信息,html5网站后台模板怎么调用前台,徐州网站建设市场分析前言 redis的空间键通知是在2.8.0版本以后加入的,客户端通过发布订阅的方式,订阅某个频道,接收通过某种方式影响redis中数据的事件. 目录: 1.空间键事件分类 2.如何启用redis的空间键通知 3.命令行操作示例 4.ioredis操作示例 1.空间键事件分类 每一个影响redis数据空间的操作,…

前言

  redis的空间键通知是在2.8.0版本以后加入的,客户端通过发布订阅的方式,订阅某个频道,接收通过某种方式影响redis中数据的事件.

目录:

  1.空间键事件分类

  2.如何启用redis的空间键通知

  3.命令行操作示例

  4.ioredis操作示例

1.空间键事件分类

  每一个影响redis数据空间的操作,都会产生两种事件,分别是key-space和key-event事件

  key-space是用来接收影响redis数据空间的操作的名称,如set, lpush

  key-event是用来接收受影响的键值名称

 

2.如何启用redis的空间键通知

  为了减少cpu性能的损耗,redis的空间键通知默认是关闭的(notify-keyspace-events为空),可以通过如下方式启用redis空间键通知:

  1)修改redis.conf中notify-keyspace-events的值,如:notify-keyspace-events 'K$'

  2)通过config set命令设置notify-keyspace-events的值,如:config set notify-keyspace-events 'K$'

  notify-keyspace-events的值为空,表示禁用空间键通知,若为非空,则启用该功能,非空可以由多个特定的字符组成,这些字符的含义如下:

    K Keyspace events, published with __keyspace@<db>__ prefix. 表示启用key-space事件

    E  Keyevent events, published with __keyevent@<db>__ prefix. 表示启用key-event事件

    g  一般性的指令,比如del(删除),expire(过期),rename(重命名)
    $  字符特定串命令

    l  列表特定命令

    s  集合特定命令

    h  hash特定命令

    z  有序集合特定命令

    x  过期事件

    e  驱逐事件

    A  g$lshzxe的别名

   例如设置notify-keyspace-events 'Kl' 表示仅仅对列表命令响应key-space事件(不响应key-event事件)

 

3.命令行操作示例

  首先设置notify-keyspace-events 'K$'

  在客户端A上执行:

127.0.0.1:6379> psubscribe __keyspace*@0__:test  
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "__keyspace*@0__:test"
3) (integer) 1

 

  在客户端B上执行: 

127.0.0.1:6379> set test 1
OK

  则在客户端A上会输出:

1) "pmessage"
2) "__keyspace*@0__:test"
3) "__keyspace@0__:test"
4) "set"

  可见客户端A收到了key-space事件,而这个事件是通过客户端B set test 1产生的

 

4.ioredis操作示例

  客户端A:  

const Redis = require('ioredis')                                                                                                                                                       
const Koa = require('koa')
let app = new Koa()
let client = new Redis({host: 'localhost', port: 6379})app.use(function* (next) {client.setex('test:1111', 5, 'qqq')
})app.listen(3000)

  客户端B:

const Koa = require('koa')
const Redis = require('ioredis')
const co = require('co')let app = new Koa()let client = new Redis({host: 'localhost', port: 6379})
let client2 = client.duplicate();                                                                                                                                                      client.psubscribe('__keyspace@0__:test:*')client.on('pmessage', function (event, data, data1) {let ttt = function* () {let data2 = yield client2.get('qqqq')}co(ttt)
})app.listen(3001)

  client.psubscribe('__keyspace@0__:test:*') 匹配所有对test:开头的键的操作

  注意: 这里如果想要使用redis的普通指令,则需要重新生成一个redis实例,这里可以通过client.duplicate()来生成一个配置相同的redis实例

  分别启动客户端A和客户端B,在浏览器中输入localhost:3000,可以看到客户端B输出如下信息:

__keyspace@0__:test:*
__keyspace@0__:test:1111
set

  

转载于:https://www.cnblogs.com/y-yxh/p/7646838.html

http://www.lbrq.cn/news/1110457.html

相关文章:

  • 泉州做网站多少钱/微信广告
  • 爱站网站长seo综合查询/班级优化大师下载安装最新版
  • a网站建设/网站维护中
  • 有没有专门做根雕的网站/中文域名注册管理中心
  • 网站 网安备案查询/谷歌浏览器下载手机版安卓
  • 网站建设公司推荐 知乎/搜索引擎营销的主要方式有哪些?
  • 男人和女人做羞羞的免费网站/企业整站seo
  • 查询类网站怎么做/石家庄新闻网头条新闻
  • 有什么网站可以做跳转连接的/sem论坛
  • 做代练去什么网站安全吗/搜索引擎营销简称为
  • 怀柔区住房和城乡建设委员会网站/seo竞争对手分析
  • 上海做网站优化价格/沈阳网站关键词优化公司
  • windous 系统 做网站/杭州网站优化培训
  • 零食网站建设的必要性/seo快速工具
  • 移动网站设计尺寸/简述搜索引擎优化
  • 濮阳网站制作/推广seo网站
  • 英文做影评的网站/产品互联网推广
  • 上海英文网站建设/二级域名注册
  • 最好网页游戏网站/热搜词工具
  • 网站开发看谁的教程/在线资源链接
  • 做网站不备案用香港空间可以吗/百度seo优化怎么做
  • 人人车网站建设费用/文库百度登录入口
  • 广州市酒店网站设计/营销型网站策划书
  • 沈阳网站制作流程/最新腾讯新闻
  • 政府网站建设团队/营销方式和手段
  • 网易那个网站可以做字幕/国内好的seo网站
  • 付费网站模板/怎么开网店
  • 郑州做网站比较好公司/如何优化网站排名
  • 怎么开始做网站/今天重要新闻
  • 怎样建商业网站/推广专家
  • ArcGIS Pro+PS 实现地形渲染效果图
  • Nestjs框架: 基于TypeORM的多租户功能集成和优化
  • C# 转换(引用转换)
  • Redis学习系列之—— JDHotKey 热点缓存探测系统
  • PyTorch边界感知上下文神经网络BA-Net在医学图像分割中的应用
  • #systemverilog# 关键字之 变量声明周期与静态方法关系探讨