Redis学习笔记~分布锁的使用
2024-08-31 02:17:10
分布锁主要用在多进程共同访问同一个资源时候,用来保持同一时间段只能有一个进程执行,同时避免了并发冲突的出现,这在很多场景都会用到,像秒杀库存,抽奖库存,多操作者处理一家公司等。
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正被其它进程使用");
}
你可以写个并成的程序去测试一下,然后把它封装一下,方便其它开发人员直接使用!
感谢阅读!
最新文章
- 编写Windows服务疑问1:操作过程
- https问答篇
- linux---mysql远程访问
- android 进程间通信---Service Manager(1)
- Android开发者资源大汇总
- Serenity框架官方文档翻译(1-2开始、安装和界面)
- JavaScript数组常用操作
- 802.11 wireless 四
- TAxThread - Inter thread message based communication - Delphi
- Kafka 之 async producer (2) kafka.producer.async.DefaultEventHandler
- 细节!重点!易错点!--面试java基础篇(二)
- linux yum下载文件的存放位置
- 省市区/国籍 多级联动-jq
- [译文]Domain Driven Design Reference(五)—— 为战略设计的上下文映射
- 【javascript】数据类型中的一些小知识点
- js 插件使用总结
- 移动端滑屏全应用【三】requestAnimationFrame的兼容与使用
- 生产者与消费者+Queue(线程安全)
- angularjs 1.x lazyloading
- 【AI】微软人工智能学习笔记(一)