redis常用技术-超时命令

常用的超时命令有:
persist key //持久化key,取消超时时间
ttl key //查看key的超时时间
expire key seconds //设置超时时间戳.以秒为单位
expireat key timestamp //设置超时时间点,用uninx时间戳确定
pptl key milliseconds //查看key的超时时间戳,用毫秒计算
pexpire key //设置键值超时的时间,以毫秒为单位
Pexpireat key stamptimes //设置超时时间点,以毫秒为单位的uninx时间戳

在redis客户端的使用:
在这里插入图片描述
在spring中的使用

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
RedisTemplate redisTemplate = applicationContext.getBean(RedisTemplate.class);
redisTemplate.execute((RedisOperations ops) -> {
    ops.boundValueOps("key1").set("value1");
    String keyValue = (String)ops.boundValueOps("key1").get();
    Long expSecond = ops.getExpire("key1");
    System . err.println(expSecond) ;
    boolean b =false ;
    b = ops . expire ("keyl", 120L, TimeUnit.SECONDS);
    b = ops .persist ( "keyl ");
    Long l = 0L;
    l = ops . getExpire ("keyl");
    Long now= System.currentTimeMillis();
    Date date= new Date() ;
    date . setTime ( now + 120000) ;
    ops . expireAt ( "key", date) ;
    return null;
});

备注:如果key超时了,Redis并不会回收key的存储空间.Redis的key超时不会被其自动回收,它只会标识哪些键值对超时了.这样做的好处在于,如果一个很大的键值对超时,要对其回收需要很长的时间.如果采取超时回收,则可能产生停顿;坏处也很明显,这些超时的键值对会浪费很多空间.
Redis提供两种方式回收这些超时键值对,分别为定时回收和惰性回收
1)定时回收:指在确定的某个时间触发一段代码,回收超时的键值对.
2)惰性回收:指当一个超时的键,再次用get命令访问时,将触发Redis将其从内存中清楚.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值