问题1:DMS设置key值的有效期为永久,这边我手动执行命令:EXPIRE "key" -1或者,双击进入key后通过右上角TTL修改为-1,我这边情况是会删除这个key了,需要我输入命令:PERSIST "key"才能设置永久有效期,我是云数据库Redis 2.8(兼容3.0特性)
问题2:生效是么?
对于问题1,根据您提供的信息,云数据库 Redis 2.8(兼容3.0特性)可能存在一个行为差异。在标准的 Redis 中,使用命令 EXPIRE "key" -1
或者通过 DMS 双击进入 key 后将 TTL 修改为 -1 是将键的有效期设置为永久,不应该导致键被删除。而使用命令 PERSIST "key"
可以取消键的过期时间,使其成为永久有效的键。
对于问题2,确认命令执行是否生效最好的方法是验证键是否保持永久有效。您可以执行以下步骤来验证:
使用命令 TTL "key"
来查看键的剩余生存时间,如果返回的值是 -1,则表示已经成功设置为永久有效。
确保您没有其他地方执行了删除键的操作。请检查其他代码或操作是否会导致键被删除。
如果在确认没有其他操作导致键被删除的情况下,而键的有效期仍然被错误地设置为 -1 导致键被删除,建议您联系阿里云技术支持团队。他们将进行更详细的调查并提供帮助。
在Redis中,可以通过多种方式设置key的有效期,包括使用EXPIRE命令、使用TTL命令、使用PERSIST命令等。在DMS中,可以通过双击进入key后通过右上角TTL修改key的有效期,将其设置为永久有效期。
根据您的情况描述,可能是由于您使用了错误的命令或版本不兼容等原因导致设置key永久有效期失败。在云数据库Redis 2.8中,PERSIST命令不支持将已经设置过期时间的key设置为永久有效期,而应该使用PERSIST命令将已经过期的key重新设置为永久有效期。
因此,如果您想将key的有效期设置为永久,可以尝试使用以下命令:
Copy
PERSIST "key"
这个命令将会将已经过期的key重新设置为永久有效期,如果key没有过期,也可以使用这个命令将其设置为永久有效期。
回答1:您的意思是在DMS设置TTL为-1 这个key会被删除?我这边默认设置ttl -1是存在的 没有被删除啊如力
回答2:当 key 存在但没有设置剩余生存时间时,返回 -1,此回答整理自钉群“阿里云DMS数据管理用户交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。