Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis Radis:cut dump.rdb用于开发目的_Redis - Fatal编程技术网

Redis Radis:cut dump.rdb用于开发目的

Redis Radis:cut dump.rdb用于开发目的,redis,Redis,我有一个包含8GB数据的dump.rdb文件。由于redis将从RAM中读取,因此我希望在本地dev机器上用少量数据启动redis服务器 是否有可能从dump.rdb中删除大约95%的密钥,以使测试转储文件只包含数千个密钥,而不是生产服务器上的800万个密钥。您必须使用完整的rdb启动一个新实例,然后删除密钥以获得所需的密钥,然后保存该RDB并在开发机器上使用它。没有直接更改RDB文件的本机方法 没有原生Redis方式,但您可以使用,您可以按照模式读取密钥并在Redis协议中发出它们 大概是这样

我有一个包含8GB数据的dump.rdb文件。由于redis将从RAM中读取,因此我希望在本地dev机器上用少量数据启动redis服务器


是否有可能从dump.rdb中删除大约95%的密钥,以使测试转储文件只包含数千个密钥,而不是生产服务器上的800万个密钥。

您必须使用完整的rdb启动一个新实例,然后删除密钥以获得所需的密钥,然后保存该RDB并在开发机器上使用它。没有直接更改RDB文件的本机方法

没有原生Redis方式,但您可以使用,您可以按照模式读取密钥并在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资源