我最近在OS X上安装了Redis。我初步加载了一些对象,这方面的所有内容似乎都运行得很好。
我将数据保存到dump.rdb
,如果我从此目录启动redis并且不使用redis.conf
文件,则一切都按计划进行。
问题是,在redis.conf
中安装并设置/etc/redis/
文件后,似乎完全忽略了dbfilename
和dir
设置。
更清楚。我在:/Library/Redis_Data/
中创建了一个数据目录。
在redis.conf
我设置了dbfilename dump.rdb
和dir /Library/Redis_Data
如果我发布:redis-server /etc/redis/redis.conf
,则只是拒绝加载dump.rdb
。
我已经运行redis-cli
并且可以读取配置参数get config dbfilename
和get config dir
并返回正确的值,但没有数据恢复。
我也启用了AOF。如果我将其删除并再次启动服务器,则将重新创建位于同一目录中的文件appendonly.aof
。
最后......如果我从cli运行save
,它将完全消除并为我的数据创建新的dump.rdb
。
有什么想法吗?
仅供参考:redis服务器v = 2.6.9 sha = 00000000:0 malloc = libc bits = 64
感谢。
答案 0 :(得分:0)
解决: 今天早上回顾这个问题,我设法发现了这个问题。
我最初在未启用appendonly
模式的情况下添加了数据。在测试负载之后,我设置了我的环境,并决定启用appendonly
。
我发现的是这个。如果您在dump.rdb
中有数据,但appendonly.aof
文件为空且 appendonly
已开启;假设由于dump.rdb
交易不存在而无法完成任务,Redis将忽略appendonly.aof
。
我做了什么:在配置文件中关闭appendonly
并使用正常目录设置重新启动Redis。然后根据我的配置文件加载dump.rdb
。然后我从redis-cli config set appendonly yes
然后save
运行命令。
然后创建包含所有事务的appendonly.aof
文件。在配置中将appendonly
设置回yes
,一切正常。
干杯, damnabit