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

开先建设集团网站网站的建设可以起到什么作用是什么原因

开先建设集团网站,网站的建设可以起到什么作用是什么原因,免费建站的网站有哪些,虚拟空间官网一、前言 Redis提供了数据变化的通知事件#xff0c;可以实时监测key和value的变化#xff0c;客户端可以通过订阅相关的channel来接收这些通知事件#xff0c;然后做相应的自定义处理#xff0c;详细的介绍可以参考官方文档Redis keyspace notifications | Docs 使用Red…一、前言 Redis提供了数据变化的通知事件可以实时监测key和value的变化客户端可以通过订阅相关的channel来接收这些通知事件然后做相应的自定义处理详细的介绍可以参考官方文档Redis keyspace notifications | Docs 使用Redis时可以在配置文件中管理相应的配置默认配置是不开启事件通知的。 ############################# Event notification ############################### Redis can notify Pub/Sub clients about events happening in the key space. # This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key foo stored in the Database 0, two # messages will be published via Pub/Sub: # # PUBLISH __keyspace0__:foo del # PUBLISH __keyevent0__:del foo # # It is possible to select the events that Redis will notify among a set # of classes. Every class is identified by a single character: # # K Keyspace events, published with __keyspacedb__ prefix. # E Keyevent events, published with __keyeventdb__ prefix. # g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... # $ String commands # l List commands # s Set commands # h Hash commands # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) # A Alias for g$lshzxe, so that the AKE string means all the events. # # The notify-keyspace-events takes as argument a string that is composed # of zero or multiple characters. The empty string means that notifications # are disabled. # # Example: to enable list and generic events, from the point of view of the # event name, use: # # notify-keyspace-events Elg # # Example 2: to get the stream of the expired keys subscribing to channel # name __keyevent0__:expired use: # # notify-keyspace-events Ex # # By default all notifications are disabled because most users dont need # this feature and the feature has some overhead. Note that if you dont # specify at least one of K or E, no events will be delivered. notify-keyspace-events 二、整合方案 1、自定义监听事件 该方案是自定义监听器messageListener监听指定的频道__keyevent*表示监听所有事件这种方案比较灵活可以自定义监听的事件频道。但是这种需要redis服务配置开启通知例如配置notify-keyspace-events为AKE表示开启全部事件通知。如果redis配置不正确是不会通知指定事件的。另外如果修改了该配置还需要重启Redis服务所以慎重选择该方式。 redis配置如下 # redis配置开启全部事件通知 notify-keyspace-events AKE 代码部分如下 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.listener.PatternTopic; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;Configuration public class RedisListenerConfig {Beanpublic RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) {RedisMessageListenerContainer container new RedisMessageListenerContainer();container.setConnectionFactory(connectionFactory);// 订阅一个全部变化事件频道 __keyevent*container.addMessageListener(listenerAdapter, new PatternTopic(__keyevent*));return container;}BeanMessageListenerAdapter listenerAdapter() {// 如果使用自定义方法myHandleMessage就把方法名作为第二个参数添入// return new MessageListenerAdapter(new RedisKeyChangeSubscriber(), myHandleMessage);// 如果不传入第二个参数则会使用默认方法handleMessagereturn new MessageListenerAdapter(new RedisKeyChangeSubscriber());}public static class RedisKeyChangeSubscriber {// 自定义处理方法public void myHandleMessage(String message) {System.out.println(RedisKeyChangeSubscriber Received message: message);// 在这里处理收到的消息}// message对应redis数据的keypublic void handleMessage(String message) {System.out.println(RedisKeyChangeSubscriber Received message: message);// 在这里处理收到的消息}} } 测试效果 ①创建键值对{key1: val1} 2、继承spring boot集成的监听器KeyspaceEventMessageListener spring官方提供的redis starter依赖包含了事件变化监听器KeyspaceEventMessageListener是个抽象类可以通过继承这个抽象类重写doHandleMessage方法来自定义数据变化的处理逻辑。这种方式不需要关注Redis配置简化了监听事件变化的处理容易上手。没有特别要求的话也推荐使用这种方式。同样的该依赖也提供了redis数据过期事件的监听器KeyExpirationEventMessageListener用于监听redis数据过期的事件使用方法和KeyspaceEventMessageListener大体一致但是KeyExpirationEventMessageListener不是抽象类。 import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.listener.KeyspaceEventMessageListener; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;Configuration public class RedisListenerConfig {Beanpublic RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {RedisMessageListenerContainer container new RedisMessageListenerContainer();container.setConnectionFactory(connectionFactory);return container;}BeanRedisKeyChangerHandler redisKeyChangerHandler(RedisMessageListenerContainer container) {return new RedisKeyChangerHandler(container);}public static class RedisKeyChangerHandler extends KeyspaceEventMessageListener {/*** Creates new {link KeyspaceEventMessageListener}.** param listenerContainer must not be {literal null}.*/public RedisKeyChangerHandler(RedisMessageListenerContainer listenerContainer) {super(listenerContainer);}Override// message对应redis数据的keyprotected void doHandleMessage(NotNull Message message) {System.out.println(KeyspaceEventMessageListener Received message: message);}} } 测试效果同方案一。
http://www.pierceye.com/news/735299/

相关文章:

  • 照片书那个网站做的好重庆网站建设价格费用
  • 网站两侧广告石家庄建设
  • 网站设计的企业网站建设教程txt
  • 大型建站公司seo查询5118
  • 百度站长提交工具中小企业建站模板
  • 企业网站西安seo服务
  • 做网站需要多少个人网站logo设计
  • 新浪云 建设网站中企动力双语网站
  • 网站建设中心网站开发前端工程师
  • 网站目录结构设计应注意的问题课程平台网站建设报价
  • 南京网站排名优化费用做网站大作业的心得体会
  • 网站 三合一高端的响应式网站建设公司
  • 网站设计公司天津网站备案不关站
  • 怎样增加网站会员量微信商城怎么进入
  • 网站建设目的功能行业门户网站源码
  • 建设网站收费标准100m做电影网站
  • 怎么样自己做最简单的网站wordpress酷黑主题
  • 长沙市建设网站网站修改域名
  • 邢台企业做网站价格如何做网络推广运营
  • 番禺网站建设服务百度广告推广价格
  • 什么系统做网站最安全网络科技网站设计
  • 通州网站建设是什么查看网站开发商
  • 建设网站公司浩森宇特怎么推广公司网站
  • 来宾住房和城乡建设网站变装第三性wordpress
  • 自己开发网站怎么开发站长工具网址是多少
  • 农业交易平台网站建设成都微信网站开发
  • 十大网站app软件网站建设企业的市场分析
  • 建设网站教程视频下载企业所得税税率2019
  • 网站图片上传不了是什么原因建筑施工图设计
  • 做网站必须要公网ip个人主页网页设计教程