博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#通过Redis实现分布式锁
阅读量:6488 次
发布时间:2019-06-24

本文共 615 字,大约阅读时间需要 2 分钟。

原文:

Redis有三个最基本属性来保证分布式锁的有效实现:

  • 安全性: 互斥,在任何时候,只有一个客户端能持有锁。
  • 活跃性A:没有死锁,即使客户端在持有锁的时候崩溃,最后也会有其他客户端能获得锁,超时机制。
  • 活跃性B:故障容忍,只有大多数Redis节点时存活的,客户端仍可以获得锁和释放锁。

使用StackExchange.Redis 实现起来简单得很

static void Lock()        {            Console.WriteLine("Start.........."); var db = _redis.GetDatabase(); RedisValue token = Environment.MachineName; //实际项目秒杀此处可换成商品ID if (db.LockTake("test", token, TimeSpan.FromSeconds(10))) { try { Console.WriteLine("Working.........."); Thread.Sleep(5000); } finally { db.LockRelease("test", token); } } Console.WriteLine("Over.........."); }

最后附上GitHub地址:https://github.com/xiaopotian1990/RedisDemo

 

转载地址:http://taauo.baihongyu.com/

你可能感兴趣的文章
Mysql客户端下载地址
查看>>
高并发网络编程之epoll详解
查看>>
ORACLE SQL调优之记录一次trim函数引发的大表全表扫描
查看>>
JS编程建议——20:不要使用new
查看>>
Oracle hint之DRIVING_SITE
查看>>
深入理解计算机系统结构——链接
查看>>
阿里云盾提醒网站被WebShell木马后门分析与对策
查看>>
Java开发者福利——Java编码规范Eclipse/IDEA插件
查看>>
not accessible due to restriction on required library
查看>>
Python计算&绘图——曲线拟合问题(转)
查看>>
SQL疑难问题
查看>>
GIS术语 - POI、AOI、LOI、路径、轨迹
查看>>
HDOJ(HDU) 1718 Rank(水题、、、)
查看>>
简单的开始
查看>>
markdown绘图插件----mermaid简介
查看>>
大数据真的在云计算上的快车上吗?
查看>>
效果强悍的博客seo优化秘籍
查看>>
新的芯片设计将会显著提高数据安全
查看>>
人月到底有多少神话色彩
查看>>
logstash输出到elasticsearch多索引
查看>>