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

C#通过Redis实现分布式锁

C#通过Redis实现分布式锁
原文: C#通过Redis实现分布式锁

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

 

posted on 2017-12-19 23:43 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/8068323.html

相关文章:

  • 网络舆情怎么分析研判的方案
  • 项目第一周冲刺第三天
  • 网络舆情数据汇总统计的方法技巧
  • lnx和logx
  • 银行应该采取哪些方法来应对突发事件和负面舆情?
  • 冒泡、选择、插入排序
  • 怎样进行合理有效的舆情监测方法措施
  • msyql 5.7 修改密码以及设置远程登录
  • 网络舆情信息整理分析怎么有效做好的方法
  • 冲刺第七天个人博客
  • 企业舆情危机监控问题与监测方法措施
  • 社交媒体舆情怎么监测的方法措施
  • CentOS 报错cannot execute binary file
  • 2020年下半年教育热点事件舆情分析研判报告整合
  • 零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!...
  • AHK 中 = 和 == 等比较运算符的用法
  • angular组件开发
  • Flex布局到底解决了什么问题
  • HTTP中的ETag在移动客户端的应用
  • JavaScript异步流程控制的前世今生
  • Java应用性能调优
  • JSONP原理
  • MaxCompute访问TableStore(OTS) 数据
  • Nacos系列:Nacos的Java SDK使用
  • python_bomb----数据类型总结
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 对JS继承的一点思考
  • 聊一聊前端的监控
  • 前端面试题总结
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 我的面试准备过程--容器(更新中)
  • 详解移动APP与web APP的区别
  • 用jQuery怎么做到前后端分离
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #includecmath
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #每天一道面试题# 什么是MySQL的回表查询
  • (2)(2.10) LTM telemetry
  • (多级缓存)缓存同步
  • (规划)24届春招和25届暑假实习路线准备规划
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一) storm的集群安装与配置
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)编辑寄语:因为爱心,所以美丽
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .net6+aspose.words导出word并转pdf
  • .net经典笔试题
  • .net连接MySQL的方法
  • .net中的Queue和Stack
  • @Bean有哪些属性
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [<事务专题>]