开发者社区 > 数据库 > 数据库管理工具 > 正文

DMS设置key值的有效期为永久,这边我手动执行命令:EXPIRE "key" -1或者,双击进入?

问题1:DMS设置key值的有效期为永久,这边我手动执行命令:EXPIRE "key" -1或者,双击进入key后通过右上角TTL修改为-1,我这边情况是会删除这个key了,需要我输入命令:PERSIST "key"才能设置永久有效期,我是云数据库Redis 2.8(兼容3.0特性)
问题2:生效是么?

展开
收起
真的很搞笑 2023-07-13 14:32:35 88 0
3 条回答
写回答
取消 提交回答
  • 对于问题1,根据您提供的信息,云数据库 Redis 2.8(兼容3.0特性)可能存在一个行为差异。在标准的 Redis 中,使用命令 EXPIRE "key" -1 或者通过 DMS 双击进入 key 后将 TTL 修改为 -1 是将键的有效期设置为永久,不应该导致键被删除。而使用命令 PERSIST "key" 可以取消键的过期时间,使其成为永久有效的键。

    对于问题2,确认命令执行是否生效最好的方法是验证键是否保持永久有效。您可以执行以下步骤来验证:

    1. 使用命令 TTL "key" 来查看键的剩余生存时间,如果返回的值是 -1,则表示已经成功设置为永久有效。

    2. 确保您没有其他地方执行了删除键的操作。请检查其他代码或操作是否会导致键被删除。

    如果在确认没有其他操作导致键被删除的情况下,而键的有效期仍然被错误地设置为 -1 导致键被删除,建议您联系阿里云技术支持团队。他们将进行更详细的调查并提供帮助。

    2023-07-25 19:36:45
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在Redis中,可以通过多种方式设置key的有效期,包括使用EXPIRE命令、使用TTL命令、使用PERSIST命令等。在DMS中,可以通过双击进入key后通过右上角TTL修改key的有效期,将其设置为永久有效期。

    根据您的情况描述,可能是由于您使用了错误的命令或版本不兼容等原因导致设置key永久有效期失败。在云数据库Redis 2.8中,PERSIST命令不支持将已经设置过期时间的key设置为永久有效期,而应该使用PERSIST命令将已经过期的key重新设置为永久有效期。

    因此,如果您想将key的有效期设置为永久,可以尝试使用以下命令:

    Copy
    PERSIST "key"
    这个命令将会将已经过期的key重新设置为永久有效期,如果key没有过期,也可以使用这个命令将其设置为永久有效期。

    2023-07-23 09:21:34
    赞同 展开评论 打赏
  • 回答1:您的意思是在DMS设置TTL为-1 这个key会被删除?我这边默认设置ttl -1是存在的 没有被删除啊如力
    回答2:当 key 存在但没有设置剩余生存时间时,返回 -1,此回答整理自钉群“阿里云DMS数据管理用户交流群”

    2023-07-13 16:55:48
    赞同 展开评论 打赏

相关产品

  • 数据管理
  • 热门讨论

    热门文章

    相关电子书

    更多
    金融行业高频交易数据管理解决方案 立即下载
    基于Spark的统一数据管理与数据探索平台 立即下载
    INFINIDATA:基于Spark的统一数据管理与探索平台 立即下载