一尘不染

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

redis

关闭redis服务器后,使用set存储的值被破坏,在这里我找到了使用持久性存储的方法,有人帮助我,如何使用javascript实现它?

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


阅读 234

收藏
2020-06-20

共1个答案

一尘不染

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

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

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

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

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

> config set save "300 1"

它将配置RDB每隔5分钟转储所有内容(以适应您的情况)。

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

如果您需要从转储文件中提取数据(当Redis脱机时),请访问https://github.com/sripathikrishnan/redis-rdb-
tools,获得一个出色的Python包

2020-06-20