您的位置:首页 > 数据库 > Redis

Redis学习笔记~Redis并发锁机制

2015-12-22 11:51 573 查看
回到目录

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以后,将会被释放.

回到目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: