我从服务器获得了快照rdb文件。在快照点,有使用EXPIRE
命令定义 ttl 的键。使用密钥本地启动服务器后--dbfilename dump.rdb
所有已定义 ttl 的密钥都过期了。对我来说,无论如何,二进制文件中似乎都应该有密钥。
如果有帮助:快照是在 AWS 弹性缓存环境中创建的。
是否可以从备份和还原密钥启动服务器?
不。来自文档(强调我的(:
过期信息的密钥存储为绝对 Unix 时间戳(对于 Redis 版本 2.6 或更高版本,以毫秒为单位(。这意味着即使 Redis 实例未处于活动状态,时间也会流动。
https://redis.io/commands/expire
如果希望备份无限期存在,则必须保留所有密钥。
Redis Labs的免费RedisInsight工具具有从RDB文件还原功能,带有"忽略到期"选项。在"批量操作"下查看。
https://redislabs.com/redis-enterprise/redis-insight/