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;

  • 相关阅读:
    Run Shell Commands in Python
    Install Fabric 1.8.3 Manually on Ubuntu 12.04
    Setup a Simple HTTP Proxy Server
    去掉文件中的^M
    Build Web Server with Apache and Passenger
    Delete Trailing Spaces with Vim
    Specify Default JDK on Ubuntu
    总结
    问题
    HTTPS 和 HTTP
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/11783143.html
Copyright © 2011-2022 走看看