Redis使用总结
在项目开发过程中,笔主使用Redis也有一段时间了。在一些特性的场景,Redis能帮助我们解决一些问题。因此,总结一下分享给大家。
1.使用Redis实现分布式锁
- 使用Boolean setIfAbsent(K key, Vvalue)
/**
* Redis访问工具类
*/
@Component
public class RedisDao {
private static Logger logger = LoggerFactory.getLogger(RedisDao.class);
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Resource(name="stringRedisTemplate")
private ValueOperations<String, String> valOpsStr;
/**
* 如果key不存在,就存储一个key-value,相当于SETNX命令
* @param key 键
* @param value 值,可以为空
* @return
*/
public boolean setIfObsent (String key, String value) {
return valOpsObj.setIfAbsent(key, value);
}
}
- 使用Boolean setNX(byte[] key, byte[] value)
@Component
public class RedisDao {
private static Logger logger = LoggerFactory.getLogger(RedisDao.class);