zoukankan      html  css  js  c++  java
  • redis string类型设置过期时间后 再进行set操作,会清除过期时间

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_41756437/article/details/86185604


    redis的set操作实际上是: 删除之前的key,再创建一个新的key,所以之前key就会被删除连带赋予的过期时间,

    这时我们建议使用setrange 命令进行覆盖操作,避免过期时间被删除.

    redis 的在线测试网址 (http://try.redis.io/  )

    首先设置一个简单的string类型key:

    set key 123;

    为他设置过期时间(在这里我使用的是expireat  unix时间戳以秒为单位)

    expireat key 1547049599;

    使用ttl 命令可以查看key的过期时间

    ttl key;

    使用setrange 命令(http://redisdoc.com/string/setrange.html)命令参考,这个命令有3个参数 ,分别表示(key值,覆盖位置,覆盖的值) 在这里我 直接从第0位开始覆盖 覆盖的新值为125

    setrange key 0 125;

    这时再查看过期时间是否还存在 ttl key ;查看新的值 是否发生改变 get key;

  • 相关阅读:
    Linux命令之more
    Linux命令之sort
    STM32启动模式
    poll调用深入解析
    STM32 控制步进电机 28BYJ-48
    NEC协议
    家用宽带的上传和下载速度
    Ubuntu14.04更新源
    波特率和比特率【串口为例】
    CentOS: make menuconfig error: curses.h: No such file or directory
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/11783143.html
Copyright © 2011-2022 走看看