当前位置: 首页 > 面试题库 >

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

呼延聪
2023-03-14
问题内容

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

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


问题答案:

您需要配置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包



 类似资料:
  • 问题内容: 我想知道如何禁用Redis的持久性。这里提到了这样做的可能性:http : //redis.io/topics/persistence。我的意思是和那里描述的完全一样。任何帮助将不胜感激! 问题答案: 要禁用Redis中的 所有 数据持久性,请执行以下操作: 通过将配置指令设置为(默认值)来禁用AOF 通过禁用(注释掉)所有配置指令来禁用RDB快照(默认情况下定义了3个) 这些配置指令

  • 我在想如何禁用Redis的耐药性。这里提到了这样做的可能性:http://redis.io/topics/persistence。我的意思和那里描述的完全一样。任何帮助都将非常感谢!

  • 问题内容: 我在JPA /hibernate配置中配置了两个持久性单元。现在,我需要为每个持久性单元执行不同的import.sql。如何指定每个持久性单元应执行哪个import.sql?根据文档的Hibernate,我应该将import.sql放在classpath中。如果我这样做,则将在每个持久性单元上执行import.sql。我需要以某种方式为每个持久性单元指定不同的import.sql。 问

  • 问题内容: 人们如何处理Docker容器的持久性存储? 我当前正在使用这种方法:构建映像(例如针对PostgreSQL),然后使用以下命令启动容器 恕我直言,这有一个缺点,我绝对不能(偶然)删除容器“ c0dbc34fd631”。 另一个想法是将主机卷“-v”安装到容器中,但是, 用户ID 的容器内不一定匹配 用户ID 从主机,然后权限可能会混乱。 注意:例如,您可以使用where 是分配给仅数据

  • Redis 支持持久化,即把数据存储到硬盘中。 Redis 提供了两种持久化方式: RDB 快照(snapshot) - 将存在于某一时刻的所有数据都写入到硬盘中。 只追加文件(append-only file,AOF) - 它会在执行写命令时,将被执行的写命令复制到硬盘中。 这两种持久化方式既可以同时使用,也可以单独使用。 将内存中的数据存储到硬盘的一个主要原因是为了在之后重用数据,或者是为了防

  • 问题内容: 我所说的“耐用”是指服务器可以随时崩溃,只要磁盘保持完好无损,就不会丢失任何数据(请参阅ACID)。好像这就是日记模式的用途,但是如果启用日记功能,这是否会破坏对内存数据进行操作的目的?读操作可能不受日记影响,但是日记似乎会破坏您的写入性能。 问题答案: 即使使用日志记录,Redis 通常 也不会部署为“耐用”数据存储(在ACID中为“ D”的含义)。大多数用例有意牺牲一些耐用性以换取