回到目录

分布锁主要用在多进程共同访问同一个资源时候,用来保持同一时间段只能有一个进程执行,同时避免了并发冲突的出现,这在很多场景都会用到,像秒杀库存,抽奖库存,多操作者处理一家公司等。

void TestLock()
{
//代码段锁定,只允许一下进程访问,超时时间100秒,注意,它锁的是key
if (redisManager.Instance.GetDatabase().LockTake("redislockqueeu", "", TimeSpan.FromMilliseconds()))
{
try
{
Console.WriteLine("正在处理……");
Thread.Sleep();
}
catch (Exception)
{
throw;
}
finally
{
//处理结束后释放redis进程锁,否则还要阻塞100毫秒
redisManager.Instance.GetDatabase().LockRelease("PrizeKey", "prize");
}
}
Console.WriteLine("redis正被其它进程使用");
}

你可以写个并成的程序去测试一下,然后把它封装一下,方便其它开发人员直接使用!

感谢阅读!

回到目录

最新文章

  1. 编写Windows服务疑问1:操作过程
  2. https问答篇
  3. linux---mysql远程访问
  4. android 进程间通信---Service Manager(1)
  5. Android开发者资源大汇总
  6. Serenity框架官方文档翻译(1-2开始、安装和界面)
  7. JavaScript数组常用操作
  8. 802.11 wireless 四
  9. TAxThread - Inter thread message based communication - Delphi
  10. Kafka 之 async producer (2) kafka.producer.async.DefaultEventHandler
  11. 细节!重点!易错点!--面试java基础篇(二)
  12. linux yum下载文件的存放位置
  13. 省市区/国籍 多级联动-jq
  14. [译文]Domain Driven Design Reference(五)—— 为战略设计的上下文映射
  15. 【javascript】数据类型中的一些小知识点
  16. js 插件使用总结
  17. 移动端滑屏全应用【三】requestAnimationFrame的兼容与使用
  18. 生产者与消费者+Queue(线程安全)
  19. angularjs 1.x lazyloading
  20. 【AI】微软人工智能学习笔记(一)

热门文章

  1. 在Windows Server 2008 R2下搭建jsp环境(四)-在测试的过程中可能出现的问题
  2. Protostuff序列化分析
  3. bzoj 2763 [JLOI2011]飞行路线 Dijikstra 分层
  4. Solr相似性算法
  5. mysql循环插入数据
  6. IE不兼容ES6箭头函数的解决方法(在浏览器中使用)
  7. PHP Array 简介
  8. 多线程学习系列二(使用System.Threading)
  9. kubernetes实践之二:Kubernetes可视WEB UI Dashboard搭建
  10. 华为模拟器eNSP安装(最新)网络工程师必备!