如果是单机环境,对于并发问题,直接用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数据库使用入门教程栏目进行学习!