问题
原本写了一个小项目,想通过redis缓存实现登录退出功能,结果出现了莫名奇妙的问题
代码如下:
报错:
经过多次调试之后我发现是opsForValue.set(key,value,expireTime)这行代码的问题,没有指定过期时间的单位,我把这个第三个参数当成了过期时间(实际上如果只有三个参数,第三个参数是offset,并不是过期时间),于是我换成了opsForValue.set(key,value,expireTime,TimeUnit.MILLISECONDS)就不在报错
总结:
RedisTemplate.opsForValue.set函数:
三个参数时(不可以设置过期时间):
void set(K key, V value, long offset)
四个参数时(第三个参数是超时时间,第四个参数的单位):
void set(K key, V value, long timeout, TimeUnit unit)