Redis系列-好玩的用法
2015-09-18 19:51
417 查看
分布式锁
客户端执行如下命令,来获取锁和释放锁。random = random() ok = (Set key random PX 2000ms NX) if (ok) { //do something if (redis->get(key) == random) { (del key) } }
key不存在时设置,过期时间是2000ms。如果命令成功,表示获取锁成功。
设置过期时间是为了解决获得锁的客户端意外终止产生死锁现象。释放锁时,先判断key的value是否是自己生成的,如果是再删除锁。这是为了避免因操作超时,锁被自动释放,其他客户端已经获取了锁,当前客户端误删锁。
相关文章推荐
- Redis系列-好玩的用法
- redis 操作记录
- redis 操作记录
- redis 操作记录
- redis 操作记录
- redis 操作记录
- python操作redis之连接reids
- yum 安装redis扩展
- Redis学习手册(目录)
- Redis学习手册(实例代码)
- spring-data-redis 使用
- redis session manager
- HBase、MongoDB、MySQL、Oracle、Redis--nosql数据库与关系数据库对比
- python使用redis
- mac上简单使用redis
- Redis学习14之当java文件找不到import的文件的解决办法
- Keepalived+Redis安装
- Redis学习13之predis的set速度测试
- Redis学习12之jedis的set时间测试
- redis的启动与停止 可执行文件