0

我最近在 OS X 上安装了 Redis。我对一些对象进行了初始加载,这方面的一切似乎都运行良好。

我将数据保存到dump.rdb,如果我从这个目录启动 redis 并且不使用redis.conf文件,一切都会按计划进行。

问题是,在安顿下来并在其中设置redis.conf文件后,/etc/redis/它似乎完全忽略了dbfilenamedir设置。

要更清楚。我在以下位置创建了一个数据目录:/Library/Redis_Data/. 在redis.conf我设置dbfilename dump.rdbdir /Library/Redis_Data

如果我启动:redis-server /etc/redis/redis.conf它只是拒绝加载dump.rdb.

我已经运行redis-cli并且可以读取配置参数get config dbfilename并且get config dir它们返回正确的值,但是没有数据被恢复。

我还启用了 AOF。appendonly.aof如果我删除它并重新启动服务器,将重新创建驻留在同一目录中的文件。

最后......如果我save从 cli 运行,它将完全清除并dump.rdb在我的数据上创建一个新的。

有什么想法吗?

仅供参考:redis 服务器 v=2.6.9 sha=00000000:0 malloc=libc bits=64

谢谢。

4

1 回答 1

1

已解决:今天早上回顾这个问题,我设法发现了这个问题。

我最初添加我的数据时没有启用appendonly模式。在这个测试负载之后,我设置了我的环境并决定启用appendonly.

我发现的是这个。如果您有数据dump.rdbappendonly.aof文件为空 appendonly已打开;Redis 将忽略,dump.rdb而是假设没有任何事情要做,因为appendonly.aof事务不存在。

我做了什么:appendonly在配置文件中关闭并使用正常的目录设置重新启动 Redis。然后dump.rdb根据我的配置文件加载。然后我从redis-cli config set appendonly yes后面运行命令save

然后创建了appendonly.aof包含所有交易的文件。回到配置appendonlyyes,一切正常。

干杯,该死的

于 2013-02-22T16:44:20.633 回答