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

网站建设分什么行业wordpress影视站

网站建设分什么行业,wordpress影视站,微信小程序制作商,qq企业邮箱怎么注册文章目录 Redis 键空间通知一、keyspace介绍二、事件通知配置三、不同命令生成的事件四、客户端测试五、Springboot整合Redis键空间监听5.1 方式一5.2 方式二 Redis 键空间通知 一、keyspace介绍 keyspace#xff08;键空间通知#xff09;针对指定key发生的一切改动#… 文章目录 Redis 键空间通知一、keyspace介绍二、事件通知配置三、不同命令生成的事件四、客户端测试五、Springboot整合Redis键空间监听5.1 方式一5.2 方式二 Redis 键空间通知 一、keyspace介绍 keyspace键空间通知针对指定key发生的一切改动推送给订阅的客户端侧重于针对指定key的操作 键空间通知监听格式__keyspacedb__:key 二、事件通知配置 默认情况下键空间事件通知被禁用因为虽然不太明智但该功能会使用一些 CPU 功率。notify-keyspace-events有两种配置方式 通过redis.conf配置通过config set 启用通知重启失效 例config set notify-keyspace-events “KEA”将参数设置为空字符串会禁用通知。为了启用该功能使用由多个字符组成的非空字符串其中每个字符都有特殊含义 字符发送的通知K键空间通知所有通知以 __keyspacedb__ 为前缀E键事件通知所有通知以__keyeventdb__为前缀gdel、expire、rename 等类型无关的通用命令的通知$string命令的通知llist命令的通知sset命令的通知hhash命令的通知zzset命令的通知e驱逐(evict)事件每当有键因为 maxmemory 政策而被删除时发送A参数 g$lshzxe 的别名 至少K或E应该出现在字符串中否则无论字符串的其余部分如何都不会传递任何事件。 例如要仅启用列表的键空间事件配置参数必须设置为Kl等等。 您可以使用该字符串KEA来启用所有类型的通知 三、不同命令生成的事件 具体的看官方文档Redis 键空间通知这里举几个例子 DEL为每个已删除的键生成一个del事件。RENAME生成两个事件一个rename_from针对源键的事件一个rename_to针对目标键的事件。MOVE生成两个事件一个move_from针对源键的事件一个move_to针对目标键的事件。COPY生成一个copy_to事件。EXPIRE及其所有变体PEXPIRE、EXPIREAT、PEXPIREATexpire在使用正超时或未来时间戳调用时都会生成一个事件。请注意当使用过去的负超时值或时间戳调用这些命令时键将被删除并且仅del生成一个事件。… 四、客户端测试 Redis键空间监听的本质是通过订阅与键相关的消息通知来实现的。当一个Redis键空间的事件发生时Redis会将事件信息发送到相应的频道channel而订阅了该频道的客户端就会接收到这些消息通知。 1.打开redis客户端连接然后设置所有类型事件都通知 C:\Users\Lenovoredis-cli 127.0.0.1:6379 config set notify-keyspace-events KEA OK 127.0.0.1:63792.订阅一个频道配置key为qqq:*就会触发通知 # PSUBSCRIBE命令用于订阅一个或多个符合指定模式的频道channel支持通配符模式 127.0.0.1:6379 PSUBSCRIBE __keyspace*__:qqq:* Reading messages... (press Ctrl-C to quit) 1) psubscribe 2) __keyspace*__:qqq:* 3) (integer) 13.新开一个客户端 C:\Users\Lenovoredis-cli 127.0.0.1:6379 set qqq:111 222 OK 127.0.0.1:6379结果可以看到只要qqq:*的发生了变动就会触发通知 五、Springboot整合Redis键空间监听 5.1 方式一 1.引入依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdversion2.5.4/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency /dependencies2.配置redis server.port8080spring.redis.port6379 spring.redis.host127.0.0.13.配置监听器 Slf4j Component public class RedisListener implements MessageListener {Overridepublic void onMessage(Message message, byte[] pattern) {System.out.println(message.toString());String body new String(message.getBody());System.out.println(body);String channel new String(message.getChannel());System.out.println(channel);int index channel.indexOf(:);String key channel.substring(index 1); // 找到第一个冒号的位置,冒号后面就是keylog.info(redis key: {} , channel: {}, key, channel);} }4.开启监听以及配置监听范围 Component public class RedisContainer {AutowiredRedisListener redisListener;Autowiredprivate TaskExecutor redisListenerContainerTaskExecutor;private static final Topic TOPIC_ALL_KEYSPACE new PatternTopic(__keyspace*__:*);Beanpublic RedisMessageListenerContainer container(RedisConnectionFactory factory) {RedisMessageListenerContainer container new RedisMessageListenerContainer();container.setConnectionFactory(factory);// __keyspace*__:* 可以配置一个也可配置多个container.addMessageListener(redisListener, TOPIC_ALL_KEYSPACE);container.setTaskExecutor(redisListenerContainerTaskExecutor);return container;} }5.测试 5.2 方式二 1.增加redisTemplate配置 Configuration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory connectionFactory) {// 创建RedisTemplate对象RedisTemplateString, Object template new RedisTemplate();// 设置连接工厂template.setConnectionFactory(connectionFactory);// 创建JSON序列化工具GenericJackson2JsonRedisSerializer jsonRedisSerializer new GenericJackson2JsonRedisSerializer();// 设置Key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashKeySerializer(RedisSerializer.string());// 设置Value的序列化template.setValueSerializer(jsonRedisSerializer);template.setHashValueSerializer(jsonRedisSerializer);// 返回return template;} }2.使用PostConstruct在项目启动时动态注入容器 Slf4j Component public class service {Autowiredprivate ApplicationContext applicationContext;Autowiredprivate TaskExecutor redisListenerContainerTaskExecutor;Autowiredprivate RedisTemplateString, Object redisTemplate;private static final Topic TOPIC_ALL_KEYSPACE new PatternTopic(__keyspace*__:*);PostConstructvoid init(){DefaultListableBeanFactory defaultListableBeanFactory (DefaultListableBeanFactory) applicationContext.getAutowireCapableBeanFactory();// 创建redis监听器MessageListener listener (message, pattern) - {System.out.println(message: message.toString());String body new String(message.getBody());System.out.println(body: body);String channel new String(message.getChannel());System.out.println(channel: channel);int index channel.indexOf(:);String key channel.substring(index 1); // 找到第一个冒号的位置,冒号后面就是keylog.info(redis key: {} , channel: {}, key, channel);};// 创建redis监听适配器MessageListenerAdapter listenerAdapter new MessageListenerAdapter(listener);// 创建redis消息监听容器RedisMessageListenerContainer container new RedisMessageListenerContainer();container.setConnectionFactory(redisTemplate.getConnectionFactory());container.addMessageListener(listenerAdapter, TOPIC_ALL_KEYSPACE);container.setTaskExecutor(redisListenerContainerTaskExecutor);// redis消息监听容器注入到spring中BeanDefinitionBuilder listenerBeanDefinitionBuilder BeanDefinitionBuilder.genericBeanDefinition(RedisMessageListenerContainer.class, () - container);defaultListableBeanFactory.registerBeanDefinition(redisMessageListenerContainer, listenerBeanDefinitionBuilder.getBeanDefinition());} }3.结果一样
http://wiki.neutronadmin.com/news/280483/

相关文章:

  • 公司网站建设服务机构wordpress 手机 重定向 子目录
  • 做网站要注意哪些企业网站开发环境
  • 推荐网站建设服务器wordpress qq登入设置
  • 做百度移动端网站软件下载舟山网站建设开发
  • 专做眼镜的网站建设厅官方网站
  • 官网网站怎么做wordpress主题 可爱
  • 外贸网站建设浩森宇特wordpress邮件发文章
  • 宁波seo排名方案优化搜索引擎优化的报告
  • 外贸平台哪个网站最好不收费企业oa办公系统大概多少钱一套
  • 做网站应该注意哪些问题做电视的视频网站
  • 建设个人网站赚钱的经历黄页号码标记申诉
  • 安徽网站优化好不好wordpress索引
  • 深圳企业网站建设报价php+mysql网站开发
  • 做房产中介需要有内部网站吗wordpress 电商
  • 品牌的三大核心价值无锡网站排名优化费用
  • 重庆建站公司费用网站备案号的区别
  • 给城市建设提议献策的网站字体设计作品赏析
  • 如何做手机网站用于建设教学网站的建站工具有哪些特点
  • 杭州久邦电力建设有限公司网站手机排行榜2021前十名性价比
  • 手机网站免费制作平台有哪些江东seo做关键词优化
  • chrome网站开发插件舟山市建设信息港网站打不开
  • 怎样建设企业网站做网站十大公司哪家好
  • 电子请柬网站开发竞赛作品发表网站怎么做
  • 淄博网站建设公司有几家深圳公共交易资源平台
  • 注销建设工程规划许可证在哪个网站百度推广一个月多少钱
  • 建立网站心得自己怎么做网站建设
  • 莱州网站建设方案广告公司名称创意
  • 网站登记备案查询网站建设人员工资
  • 菏砖网站建设网站建设费进什么科目
  • 广西建设监理协会官网站wordpress禁用媒体库