当前位置:   article > 正文

redis 常用操作之时间有效期_redisutil.expire

redisutil.expire

利用redis的Expire命令,可以设置一个时间,以秒为单位,过期后,key值无效。此方法常用于登录验证码有效期的控制和其他需要设置有效期的数据控制。

命令及例子:

命令:expire key seconds(设置key的有效时间)、ttl key(查询key剩余的有效时间)

例子:set yzcode “876590”(设置yzcode的值为“876590”)

           expire yzcode 60(设置yzcode有效期为60秒)

           ttl yzcode(查询yzcode剩余有效时间)

java中的使用:

1,在utils中封装一下redis命令,类名为RedisUtils,RedisUtils设置见https://blog.csdn.net/scorpio_meng/article/details/95459384

  1. /**
  2. * 设置键值的有效时间,以秒为单位
  3. * @param key
  4. * @param value
  5. * @param seconds
  6. * @param indexdb
  7. * @return
  8. */
  9. public static Long expire(String key,String value,int seconds,int indexdb) {
  10. Jedis jedis = null;
  11. try {
  12. jedis = jedisPool.getResource();
  13. jedis.select(indexdb);
  14. jedis.set(key,value);
  15. return jedis.expire(key,seconds);
  16. } catch (Exception e) {
  17. logger.error("expire错误日志:"+e.getMessage());
  18. return 0L;
  19. } finally {
  20. jedis.close();
  21. }
  22. }
  23. /**
  24. * 获取key值剩余的时间
  25. * @param key
  26. * @param indexdb
  27. * @return
  28. */
  29. public static Long ttl(String key,int indexdb) {
  30. Jedis jedis = null;
  31. try {
  32. jedis = jedisPool.getResource();
  33. jedis.select(indexdb);
  34. return jedis.ttl(key);
  35. } catch (Exception e) {
  36. logger.error("ttl错误日志:"+e.getMessage());
  37. return -1L;
  38. } finally {
  39. jedis.close();
  40. }
  41. }

2,接口中的调用

  1. @GetMapping(value = "/test_expire")
  2. public Long testExpire(){
  3. Long str = RedisUtils.expire("yzcode","876590",60,0);
  4. return str;
  5. }
  6. @GetMapping(value = "/test_ttl")
  7. public Long testTTL(){
  8. Long str = RedisUtils.ttl("yzcode",0);
  9. return str;
  10. }

3,测试一下结果

4,利用rpm工具查看结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/353140
推荐阅读
相关标签
  

闽ICP备14008679号