最近在规范平台缓存使用时发现,很多业务用到了 reids 分布式锁,但普遍存在一些细节问题,根据这些问题,本文将会尝试去总结分布式锁常见的问题。
如果是单机环境,对于并发问题,直接用java提供的synchronized或Lock实现即可,而涉及到多进程环境,那么就需要依赖一个第三方系统来提供锁机制。(推荐学习:Redis视频教程)
redis作为一个缓存中间件系统,就能提供这种分布式(集群)锁机制,其本质就是在redis里面占一个坑,当别的进程也要来占坑时,发现已经被占领了,就只要等待稍后再尝试。
在java中我们一般这样用:
boolean result = jedis.setnx("lock-key",String.valueOf(System.currentTimeMillis()))== 1L;
if (result) {
try {
// do something
} finally {
jedis.del("lock-key");
}
}
更多Redis相关技术文章,请访问Redis数据库使用入门教程栏目进行学习!
以上就是什么时候使用redis集群锁的详细内容,转载自php中文网
发表评论 取消回复