zoukankan      html  css  js  c++  java
  • Redis学习笔记~Redis并发锁机制

    回到目录

    redis客户端驱动有很多,如ServiceStack.Redis,StackExchange.Redis等等,下面我使用ServiceStack.Redis为例,介绍一下在redis驱动中实现并发锁的方式,并发就是多线程同时访问和操作同一个资源,而对于redis来说,如果你多个线程共同修改一个key的value,这时就会出现并发,为了保证数据完整性,这时需要使用并发锁,在各大语言中,都有自己的实现方法,无论的C,C#,java还是sqlserver都有这个概念!

          using (IRedisClient RClient = Lind.DDD.RedisClient.RedisManager.GetClient())
                {
                    RClient.Add("zzlKey", 1);
                    // 支持IRedisTypedClient和IRedisClient
                    using (RClient.AcquireLock("lock"))
                    {
                        Console.WriteLine("并发锁");
                        var counter = RClient.Get<int>("zzlKey");
                        RClient.Set("zzlKey", counter + 1);
                        Console.WriteLine(RClient.Get<int>("mykey"));
                Thread.Sleep(1000); } }

    上面代码只是简单实现了并发锁的功能,处理过程是先向redis服务端申请一把锁lock,然后再发指令,我们知道using的作用是作用域的概念,即你的锁在using以后,将会被释放.

    回到目录

  • 相关阅读:
    第六周 8.23-8.29
    Go-ethereum源码解析-Part I
    Go语言
    UVa Live 4725
    UVa 11134
    UVa 11100
    UVa 11627
    UVa Live 4794
    UVa LA 4254
    UVa 10905
  • 原文地址:https://www.cnblogs.com/lori/p/5066177.html
Copyright © 2011-2022 走看看