本文版权归博客园和作者本人吴双共同所有 。转载爬虫请注明地址,博客园蜗牛 http://www.cnblogs.com/tdws/p/5712835.html

蜗牛Redis系列文章目录http://www.cnblogs.com/tdws/tag/NoSql/

Redis Cluster http://www.cnblogs.com/tdws/p/7710545.html

其实说多线程修改数据也不合适,毕竟redis服务端是单线程的,所有命令串行执行,只是在客户端并发发送命令的时候,导致串行的命令一些排列问题和网络时间差等造成数据不一致。本文虽然是数字的加减,但是为了说明锁的情况,故意不是用原子命令incr。也并非分布式锁的正确实现,没有考虑一些重入性等,稍后会整理一篇分布式锁的实践。

Redis分布式锁 http://www.cnblogs.com/tdws/p/5808528.html

ZK+curator 分布式锁 http://www.cnblogs.com/tdws/p/5874686.html

先配上一个简易的RedisHelper,一个set值,一个get值,一个设置并发锁,以便在我后面的操作中,你能清楚我究竟做了什么。

 1  public class RedisHelper
 2     {
 3         public RedisClient client = new RedisClient("127.0.0.1", 6379);
 4         public void Set<T>(string key, T val)
 5         {
 6             client.Set(key, val);
 7         }
 8         public T Get<T>(string key)
 9         {
10             var result = client.Get<T>(key);
11             return result;
12         }
13         public IDisposable Acquire(string key)
14         {
15            return  client.AcquireLock(key);
16         }
17     }
View Code

相关文章:

  • 2022-12-23
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2021-10-09
猜你喜欢
  • 2021-10-26
  • 2021-12-26
  • 2021-12-22
  • 2021-10-27
  • 2022-02-22
  • 2022-12-23
  • 2021-11-11
相关资源
相似解决方案