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

服务器的作用关键词优化排名第一

服务器的作用,关键词优化排名第一,国内设计网站推荐,企业做网站的费用如果做账开发背景 为了实现当经纪人A提交分佣后如果三天后其他经纪人没有确认分佣就自动确认分佣&#xff0c;如果经纪人A修改分佣后再次提交分佣&#xff0c;时间重置为三天 实现方式 第一步&#xff1a;引入依赖 <dependency> <groupId>redis.clients</groupId> …

开发背景

 为了实现当经纪人A提交分佣后如果三天后其他经纪人没有确认分佣就自动确认分佣,如果经纪人A修改分佣后再次提交分佣,时间重置为三天

实现方式

第一步:引入依赖

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>

第二步: 配置发送过期事件的通知

在redis.config文件中设置   notify-keyspace-events Ex

 第二步:创建一个jedis工具类

@Component
public class JedisUtil {@Value("${spring.redis.host}")private String host;@Value("${spring.redis.port}")private Integer port;@Value("${spring.redis.password}")private String password;private JedisPool jedisPool;@PostConstructpublic void init() {JedisPoolConfig poolConfig = new JedisPoolConfig();jedisPool = new JedisPool(poolConfig, host, port, 2000, password);}public Jedis getJedis() {return jedisPool.getResource();}@PreDestroypublic void close() {if (jedisPool != null) {jedisPool.close();}}
}

第三步:发布订阅

本地代码

    public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);//有密码就设置jedis.auth("aaaaa");CommissionInfoListener listener = new CommissionInfoListener();String expirationSubscription = "__keyevent@0__:expired";new Thread(() -> {try {jedis.psubscribe(listener, expirationSubscription);} catch (Exception e) {System.out.println("Subscribing failed." + e.getMessage());}}).start();}

springBoot正式项目

@Component
@Slf4j
public class CommissionInfoLineRunner implements CommandLineRunner {@Resourceprivate JedisUtil jedisUtil;@Overridepublic void run(String... args) throws Exception {log.info("订阅分佣三天自动确认开始~~~");Jedis jedis = jedisUtil.getJedis();CommissionInfoListener listener = new CommissionInfoListener();String expirationSubscription = "__keyevent@0__:expired";new Thread(() -> {try {jedis.psubscribe(listener, expirationSubscription);} catch (Exception e) {log.info("订阅失败,错误信息:{}", e.getMessage());}}).start();}
}

 代码解释

1.__keyevent@0__:expired含义

键空间通知会发送两种不同类型的事件消息:keyspace 和 keyevent

keyspace :键空间通知

keyevent :键事件通知

0:指的是库名称,一般默认为0

2. psubscribe

在使用 Jedis 的 psubscribe 方法时,遇到程序卡住不执行的情况是因为 psubscribe 是一个阻塞操作,它会持续监听指定模式的消息直到被外部显式地取消订阅。这是 Redis 发布订阅模式的常见行为。它设计为一直运行,直到接收到取消订阅的命令。所以在本地运行main方法后要保持运行状态,不然订阅不到消息。springboot项目中可以实现CommandLineRunner实现

第四步:监听订阅消息

代码

@Service
@Slf4j
public class CommissionInfoListener extends JedisPubSub {@ResourceCommissionInfoService commissionInfoService;@Overridepublic void onPMessage(String pattern, String channel, String message) {if (message.contains("aimeng:commissionInfo:confirmation:")) {Long commissionInfoId = Long.parseLong(StrUtil.subAfter(message, ':', true));log.info("分佣账单三天后自动确认开始,分佣id为:"+commissionInfoId);
//            commissionInfoService.ok(CollUtil.newArrayList(commissionInfoId));}}}

解释

1.参数message

参数message是当前监听到的key(键)

 第五步:逻辑代码

jedisUtil.getJedis().setex(COMMISSIONINFO_CONFIRMATION_KEY + id, EXPIRETIME, "commissionInfo");

http://www.hkea.cn/news/200709/

相关文章:

  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名
  • 网站域名被黑国际新闻最新消息战争
  • 苏州网站开发公司济南兴田德润厉害吗网络自动推广软件
  • 广药网站建设试卷株洲最新今日头条
  • 网站建设管理考核办法微信推广平台怎么做
  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛
  • wordpress农业模板下载小时seo
  • 做网站语言排名2018发帖推广哪个平台好
  • 销氪crmseo入门讲解
  • 蒙阴哪有做淘宝网站的钓鱼网站制作教程
  • 网站如何做导航条下拉菜单怎么做百度网页
  • 网站开发都做什么平台推广精准客源
  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名
  • 哪里有做区块链网站的百度网址大全在哪里找
  • 加盟平台网站怎么做竞价托管多少钱一个月
  • wordpress 微信 代码网站关键词怎么优化排名
  • 网站推广维护考研培训班哪个机构比较好