首页 » SEO优化 » phpredis堵塞技巧_Redis实现分布式壅塞队列

phpredis堵塞技巧_Redis实现分布式壅塞队列

访客 2024-11-28 0

扫一扫用手机浏览

文章目录 [+]

把稳: 先启动1然后启动2

main1

package com.hgy;import com.hgy.common.redis.RedisLock;import redis.clients.jedis.Jedis;public class RedisLockApp1 { private static RedisLock redisLock; public static void main(String[] args) throws InterruptedException { Jedis client = new Jedis("192.168.200.128", 6379); redisLock = new RedisLock(client); redisLock.lock("demo"); Thread.sleep(3000); for (int i = 0; i < 100; i++) { System.out.println("app1" + i); } Thread.sleep(5000); redisLock.unlock("demo"); System.out.println("App1==> end:" + System.currentTimeMillis()); }}main2

package com.hgy;import com.hgy.common.redis.RedisLock;import redis.clients.jedis.Jedis;public class RedisLockApp2 { private static RedisLock redisLock; public static void main(String[] args) throws InterruptedException { Jedis client = new Jedis("192.168.200.128", 6379); redisLock = new RedisLock(client); redisLock.lock("demo"); System.out.println("App2==> start:" + System.currentTimeMillis()); for (int i = 0; i < 100; i++) { System.out.println("app2" + i); } redisLock.unlock("demo"); }}把稳

如果细心的小伙伴儿可能已经创造了unlock实在不是一个原子操作,可能在未发布但删除key之后的这段韶光如果有人此时实行lock那么可以直接拿到锁;但是影响不大由于拿到锁之后其他被壅塞的线程被唤醒之后将会连续壅塞

phpredis堵塞技巧_Redis实现分布式壅塞队列

此处unlock中有两个操作,删除key和发送如果在这两个操作之间机器非常并没有新的线程抢占锁那么此时被壅塞的线程将永久壅塞

phpredis堵塞技巧_Redis实现分布式壅塞队列
(图片来自网络侵删)

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读0 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0