一、概述
分布式锁的实现过程中常常需要借助中间件来实现,这里使用redis来做一个简单的实现。
在本博客中,我们都使用token的缓存来验证过期时间的设置。
注:这里只进行了概念化测试,具体应用在下一篇博客介绍
二、生成key
token一般是一串字符,因此以下使用String类型的缓存方式
Redis工具类代码如下:
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* 指定缓存失效时间
*
* @param key 键
* @param time 时间(秒)
* @return boolean
*/
public boolean expire(String key, long time) {
try {
if (time > 0) {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 查询匹配的key
*
* @param pattern 匹配字符
* @return key集合
*/
public Set<String> keys(String pattern) {
return redisTemplate.keys(pattern);
}
/**
* 根据key 获取过期时间
*
* @param key 键 不能为null
* @return 时间(秒) 返回0代表为永久有效
*/
public long g