我有一个8GB数据的dump.rdb文件。由于redis将从RAM中读取,我希望用较小数量的数据启动本地开发机器上的redis服务器。
是否有可能从dump.rdb中删除大约95%的密钥,以便有一个测试转储文件,其中只有几千个键,而不是生产服务器上的8 MiO。
发布于 2016-05-11 14:20:06
您必须使用完整的RDB启动一个新实例,然后删除键以得到您想要的,然后保存该RDB并在您的开发机器上使用它。不存在直接更改RDB文件的原生方法。
发布于 2016-05-15 14:16:46
没有原生的Redis方式,但是您可以使用rdb-工具来实现,您只能读取遵循模式的密钥并在Redis协议中发出它们。
就像这样:
rdb.py --command protocol --key "users:*" dump.rdb将产出:
*3
$3
SET
$13
users:1824594
$32
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*3
$3
SET
$13
users:1826324
$32
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx此输出可以直接通过netcat提供给您的Redis资源。
https://stackoverflow.com/questions/37138497
复制相似问题