什么是锁,它用来解决什么问题?
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。
在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。
简单的来说,在一个程序内部使用多线程时大家都离不开锁,锁的类型有很多,为的就是在操作一组资源时不被其它任务干扰而达到错误的结果。分布式锁的意义是一样的,只不过作用域提升到了不同程序、操作系统、服务器之上。
而今天我就分享一个基于Memcached(阿里云OCS)的分布式锁实现。
Demo
Code:
效果:
使用方式
需要在appSettings中配置MemcachedServerAddress
如何得到它
在GitHub
分布式相关开源地址:https://github.com/RabbitTeam/Distributed
开源地址:https://github.com/RabbitTeam/Distributed/tree/master/Distributed/Distributed.Utility
在NuGet
地址:https://www.nuget.org/packages/Distributed.Utility/
安装命令:Install-Package Distributed.Utility –Pre
写在最后
QQ群:384413261(RabbitHub)
Email:majian159@live.com