2014-07-22 66 views
1

重新启动服务器后,当前数据是redis消失一次。昨天它是正确的。突然它发生在今天。到目前为止没有更改配置。所有设置都是默认设置只要。重新启动服务器后找不到redis数据

更新: 所有的更新都反映在redis客户端只为该session.Once重新启动我去旧值本身。

想通错误:

可惜我是新来的Redis。所以我不知道在Redis中的持久性。我做了bgsave 取得的成就以及我知道快照服务

+0

对不起,愚蠢的问题! – shanmugharaj

回答

2

首先,我们需要澄清一下你说的是意想不到的。

通过

所有更新只针对会话体现在Redis的客户端。 重新启动后,它自己进入旧值。

你的意思是说你重新启动客户端或服务器?数据是否从客户端的服务器上消失? “旧价值”从哪里来?

现在就如何获取更多信息,了解可能存在的问题,并解决数据在服务器重启时从服务器中消失的情况。

由于有限的信息可用,这听起来像数据没有保存到磁盘。可能有几个原因。

打开到Redis实例的redis-cli会话(如果服务器本身为redis-cli,否则您需要将主机和端口传递给它)。

接下来运行命令info persistence。这会告诉你/当Redis试图将数据写入文件系统时是否有问题。如果最后一次保存的状态不是“ok”,那么您的进程无法写入(默认情况下)/var/lib/redis/dump.rdb中的转储文件。在这种情况下,我希望有一个权限问题。它可能是一个磁盘空间问题。

假设没有空间问题,请检查目录/ var/lib/redis及其中的文件的权限。如果它们与运行redis服务器的用户不匹配,则需要通过chown -R redisuser:redisgroup /var/lib/redis进行更正,其中redisuser和redisgroup与运行redis服务器的用户相匹配。完成此操作后,返回到CLI并发出BGSAVE。等待几秒钟,然后重新运行info persistence命令来验证您是否可以保存。

如果仍然失败,我建议在终端中运行redis-server以查看输出,然后重新运行保存,以便查看报告的错误。如果你有这个被记录,然后检查日志中的错误。

如果保存成功,则数据将由服务器存储,并且在服务器端重新启动后将继续存在。如果是这种情况,并且客户端重新启动时数据从客户端“消失”,我们需要查看客户端的代码以确定它正在执行的操作。

干杯, 比尔

+0

谢谢你账单! 。我对redis非常陌生,并且未能阅读关于此的某些信息。 – shanmugharaj

相关问题