使用DEL命令删除的键超过95%。
在保存和bgsave后,数据库转储文件与删除前相同。
我还注意到内存(used_memory_human:160.96M)仍然像之前一样高。我只剩下7669个键。
键空间
db1:keys=7669,expires=145,avg_ttl=13314857
如何在删除键后压缩内存和数据库?
使用DEL命令删除的键超过95%。
在保存和bgsave后,数据库转储文件与删除前相同。
我还注意到内存(used_memory_human:160.96M)仍然像之前一样高。我只剩下7669个键。
键空间
db1:keys=7669,expires=145,avg_ttl=13314857
如何在删除键后压缩内存和数据库?
RDB文件的大小和used_memory
代表Redis中实际数据的大小。这意味着剩余的7669个键占据了这些空间 - 不管是一个大键藏在其中,还是几个大键,或者所有键都大约为0.05MB。
听起来你想找出在你的数据库中占用最多内存的键。
这个命令可能会对你有帮助:
redis-cli -h 主机名 -p 端口号 --bigkeys
如果你使用默认的主机和端口号,可以使用 redis-cli --bigkeys
。
它会遍历整个数据库,并报告找到的最大的键。对于拥有许多键的大型数据库来说,这可能需要一些时间,但是对于8k个键,它应该非常快速运行。
内存 used_memory:168782256
used_memory_human:160.96M键空间 db1:keys=49487,expires=0,avg_ttl=0
删除之后
db1:keys=7669,expires=145,avg_ttl=13314857 - Reza Shahbaziredis-cli --big-keys
或redis-rdb-tools来了解你的数据库中有什么内容-虽然你在这个代码片段中使用了很好的Go代码(尽管你使用了邪恶的KEYS
命令-要小心!),但它并没有提到数据库中剩下的键的情况。 - Itamar Haber