摘要:读完本章您将知道如何利用Redis设计分布式锁
在Java中利用Redis实现分布式锁主要利用jedis API(Jedis类) 提供的以下几个方法:
Long setnx(final byte[] key, final byte[] value);
往redis服务器中设置值,如果key已存在,设置失败返回0;如果key不存在,设置成功返回1。
Long expire(final byte[] key, final int seconds);
给值key设置过期时间单位是秒;
Long ttl(final byte[] key);
获取值key的过期时间单位秒,如果key不存在返回-2,如果key存在但未设置过期时间返回-1。
Long del(final byte[] key);
移除值key。
需要用到锁的场景:
对象会被多个线程操作,线程之间的读写操作