Radis:为开发目的切割dump.rdb

时间:2016-05-10 12:24:41

标签: redis

我有一个包含8GB数据的dump.rdb文件。由于redis将从RAM读取,我想在我的本地开发机器上以较少的数据启动redis-server。

是否有可能从dump.rdb中删除大约95%的密钥,以便拥有一个只有几千个密钥的测试转储文件,而不是生产服务器上的8个MiO。

2 个答案:

答案 0 :(得分:2)

您必须使用完整的RDB启动一个新实例,然后删除键以获得您想要的内容,然后保存该RDB并在您的开发机器上使用它。没有本地方法可以直接更改RDB文件。

答案 1 :(得分:0)

没有原生的Redis方式,但您可以使用rdb-tools进行操作,您只能读取遵循模式的密钥并使用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资源。