如何在Redis中执行持久性存储?

时间:2012-06-06 06:39:42

标签: javascript redis

关闭redis服务器后,使用set存储的值被销毁,在这里我找到了使用持久性存储的方法,任何人都帮助我,如何使用javascript实现这一点?

我想在redis db中存储来自客户端的一些值,并且必须在其他客户端中使用该值。

1 个答案:

答案 0 :(得分:28)

您需要配置Redis服务器以支持持久性机制。此配置存储在一个文件中,该文件在redis-server命令行中作为参数提供。

这是Redis 2.4的默认文件: https://github.com/antirez/redis/blob/2.4/redis.conf

实际上提供了两种不同的持久性机制:快照(RDB)和仅附加文件(AOF)。您可以在此处找到完整说明:http://redis.io/topics/persistence

最简单的机制是快照(RDB)。可以通过在配置文件中定义 save dbfilename dir 参数来激活它。

要在不停止Redis服务器的情况下激活RDB,可以使用Redis客户端中的以下命令:

> config set save "300 1"

它将配置RDB每5分钟转储一次(根据您自己的情况调整)。

请注意,您应该使用shutdown命令停止Redis服务器。默认行为是在停止之前生成最后一个快照。当Redis再次启动时,转储文件将加载到内存中。

如果您需要从转储文件中提取数据(当Redis处于脱机状态时),您可以在https://github.com/sripathikrishnan/redis-rdb-tools获得一个优秀的Python包