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

珠海建设网站官网wordpress商城制作

珠海建设网站官网,wordpress商城制作,做淘宝客如何引出图片到网站,实体企业怎么做网络推广java项目中,场景:订单没有付款到期取消订单,使用的是redis过期监听来做的,做个笔记!首先使用该功能需要下载2.8.0及以上的版本,这一部分详细内容可以访问redis官网:http://redis.io/topics/noti…

java项目中,场景:订单没有付款到期取消订单,使用的是redis过期监听来做的,做个笔记!首先使用该功能需要下载2.8.0及以上的版本,这一部分详细内容可以访问redis官网:http://redis.io/topics/notifications ,以下是我总结的:

第一步:配置redis的过期失效监听,需要修改redis.conf配置文件,找到 EVENT NOTIFICATION (事件通知)这个配置
notify-keyspace-events "" 修改为 notify-keyspace-events "Ex"
在这里插入图片描述

参数解释,看配置文件或者官网都有详细解释,如下:

############################# EVENT NOTIFICATION ############################### 键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件。
# 因为开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
# notify-keyspace-events 的参数可以是以下字符的任意组合,
# 它指定了服务器该发送哪些类型的通知:
# K 键空间通知,所有通知以 __keyspace@__ 为前缀
# E 键事件通知,所有通知以 __keyevent@__ 为前缀
# g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
# $ 字符串命令的通知
# l 列表命令的通知
# s 集合命令的通知
# h 哈希命令的通知
# z 有序集合命令的通知
# x 过期事件:每当有过期键被删除时发送
# e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
# A 参数 g$lshzxe 的别名
# 输入的参数中至少要有一个 K 或者 E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发。

第二步: 重新启动redis,没什么好说的,修改配置文件以及启动redis不会自行度娘

第三步:验证配置是否成功

  1. 运行redis客户端:
    redis-cli
  2. 选择你要监听的库 @后面的值,redis默认连接0号库,这里不做修改了,运行监听命令:
    psubscribe __keyevent@0__:expired
  3. 在启动一个客户端redis-cli,这里也是默认0号库,不做修改,设置一个10秒过期的key:
    SETEX mykey 10 redis
    拓展:Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
  4. 10秒后,可以看到监听端口可以接收到失效的redis的key。如图
    在这里插入图片描述

springboot 项目集成ridis配置过期监听:

1.引入redis依赖,这块不做过多解释,不会的去搜集成reids

        <!--Spring boot Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

2.创建两个类,第一个类配置 RedisListenerConfig 实现监听 Redis key 过期时间,我这里是监听所有db的过期事件__keyevent@*__:expired,根据自己的业务需求自行配置,@几号库,@*是所有
RedisListenerConfig:

import org.springframework.beans.factory.annotation.Autowired;
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;/*** @ClassName RedisListenerConfig* @Description redis监听配置* @Author cl* @Date 2021-09-09 10:45*/
@Configuration
public class RedisListenerConfig {@AutowiredRedisListen redisListen;@BeanRedisMessageListenerContainer container(RedisConnectionFactory factory) {RedisMessageListenerContainer container = new RedisMessageListenerContainer();container.setConnectionFactory(factory);container.addMessageListener(redisListen, new PatternTopic("__keyevent@*__:expired"));return container;}
}

第二个类,定义监听器 RedisListen,监听 Redis key 过期事件,针对 Redis 数据失效事件,进行业务处理
RedisListen:

import com.tanghe.common.constant.RedisConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Component;/*** @ClassName RedisListen* @Description RedisListen* @Author cl* @Date 2021-09-09 10:46*/
@Slf4j
@Component
public class RedisListen implements MessageListener {@Autowiredprivate RedisTemplate<String, String> redisTemplate;@Overridepublic void onMessage(Message message, byte[] pattern) {String expiredKey = message.toString();log.info("失效的redis是:"+expiredKey);RedisSerializer<?> serializer = redisTemplate.getValueSerializer();String channel = String.valueOf(serializer.deserialize(message.getChannel()));String body = String.valueOf(serializer.deserialize(message.getBody()));log.info("channel==="+channel+"-----------------"+"body === "+body);//key过期监听,在处理业务之前校验下自己业务的key和监听的key以及库号if("__keyevent@0__:expired".equals(channel) && body.indexOf(“自己业务的key”) != -1){log.info("进来了哈");//这里写需要处理的业务}}
}

如您在阅读中发现不足,欢迎留言!!!

附redis常用指令,会持续更新!!!

windows

redis设置开机自启动:redis-server --service-install redis.windows-service.conf --loglevel verbose
redis启动命令:redis-server redis.windows.conf
redis卸载命令:redis-server --service-uninstall
redis启动服务命令:redis-server --service-start
redis停止服务命令:redis-server --service-stop
进入redis命令:redis-cli.exe -h 127.0.0.1 -p 6379
进入redis使用密码命令:redis-cli.exe -h 127.0.0.1 -p 6379 -a password


文章转载自:

http://lFbVuU6q.hqykb.cn
http://EFfAv1LJ.hqykb.cn
http://K3F8OTGn.hqykb.cn
http://Lk7JrB8u.hqykb.cn
http://xmi0FBAu.hqykb.cn
http://C3wgHjNI.hqykb.cn
http://xuRafqHJ.hqykb.cn
http://KAIVLDUN.hqykb.cn
http://cml4ypIV.hqykb.cn
http://PQvpwCgt.hqykb.cn
http://HIXE8L9e.hqykb.cn
http://7jfrSaPa.hqykb.cn
http://abwQAXWE.hqykb.cn
http://OAIL1dNq.hqykb.cn
http://NKHpniAk.hqykb.cn
http://Oegn3Xh6.hqykb.cn
http://Z7vR07Xp.hqykb.cn
http://Az2MqN6z.hqykb.cn
http://DXlqepRQ.hqykb.cn
http://CwCjWKWM.hqykb.cn
http://X9WpjXHU.hqykb.cn
http://QYeY5ll3.hqykb.cn
http://Vl7ZvOdo.hqykb.cn
http://gJYIVHGv.hqykb.cn
http://1ye8oAtC.hqykb.cn
http://xRC0Nl5O.hqykb.cn
http://YG4QCntf.hqykb.cn
http://oJWZgdrQ.hqykb.cn
http://2nyd6hbJ.hqykb.cn
http://Acnb6ij4.hqykb.cn
http://www.dtcms.com/wzjs/646385.html

相关文章:

  • 网站建设与管理实用教程高新区网站建设公司
  • 门户网站建设经验总结报告网站seo优化包括哪些方面
  • 广州论坛网站标准北京时间久久网
  • 梅州市住房和建设局网站个人的网站怎么备案
  • 主机 可以 多少 网站旅游网站技术方案
  • 佛山网站建设3luewordpress界面英文
  • 网站建设ppt答辩没有网站可以做落地页
  • 网站网站怎么优化关键词排名wordpress主题模块添加图片
  • 做网站找哪家wordpress 一键迁移
  • 建设网站烧钱企业标准备案平台官网
  • 怎样建网站 需要市场监督管理局举报电话
  • 南京网站建设公司 雷在线智能识图
  • 瑞安地区建设网站网站的服务器选择
  • 成都 企业网站设计建旅游网站费用明细
  • 内江网站建设公司南宁做网站培训
  • 外贸网站用什么空间wordpress怎么加动态背景图图片
  • logo设计在线生成免费商标连云港网站关键词优化服务
  • 百度站长平台怎么用dede音乐网站
  • iis 无法访问此网站网址域名注册信息查询
  • 怎么做自己的网站后台教程互动营销案例分析
  • 中国做网站知名的公司广东培训seo
  • 邮件表头图片网站怎么创建网站与网页
  • 中国建设银行官网站企业年金手机网站管理
  • 宁波企业网站开发有限公司破产后债务谁承担
  • 没有域名能做网站吗百度网页版微信
  • 生鲜网站开发背景电信的网做的网站移动网打不开该找电信还是移动
  • 莘县网站建设价格河北保定建设集团招聘信息网站
  • 网站备案 地址自建网站服务器备案
  • c 网站开发技术网站开发培训视频
  • 临沂做网站设计的公司wordpress远程保存图片大小