Redis学习笔记~Redis并发锁机制
2015-12-22 11:51
573 查看
回到目录
redis客户端驱动有很多,如ServiceStack.Redis,StackExchange.Redis等等,下面我使用ServiceStack.Redis为例,介绍一下在redis驱动中实现并发锁的方式,并发就是多线程同时访问和操作同一个资源,而对于redis来说,如果你多个线程共同修改一个key的value,这时就会出现并发,为了保证数据完整性,这时需要使用并发锁,在各大语言中,都有自己的实现方法,无论的C,C#,java还是sqlserver都有这个概念!
上面代码只是简单实现了并发锁的功能,处理过程是先向redis服务端申请一把锁lock,然后再发指令,我们知道using的作用是作用域的概念,即你的锁在using以后,将会被释放.
回到目录
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以后,将会被释放.
回到目录
相关文章推荐
- redis使用方法
- 管理Redis 常用命令
- redis
- redis
- Redis学习笔记(二) Redis持久化
- 1 Redis的安装
- Redis和MongoDB原理简析
- redis 命令总结
- redis服务启动关闭以及其他命令实践
- PHP安装redis扩展
- 在Linux平台上用ASP.NET 5 连接Redis服务器
- redis3.0.6集群安装部署
- 分析Redis架构设计
- redis 主从模式
- Redis学习笔记(一)
- 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案
- 使用Spring-data-redis操作Redis的Sentinel
- ASP.NET Redis 开发 [转]
- Jedis操作redis入门学习
- Ubuntu 15.10 下Redis Cluster使用