servicestack.redis,Redis,Server,servicestack.redis" /> servicestack.redis,Redis,Server,servicestack.redis" />

Redis`dir`路径动态更改的原因

Redis`dir`路径动态更改的原因,redis,server,servicestack.redis,Redis,Server,servicestack.redis,我们面临着redis的一个问题,redis的路径设置没有任何通知 导致以下错误(写入redis时) MICROF Redis配置为保存RDB快照,但当前 无法在磁盘上持久化。可以修改数据集的命令包括 残废有关错误的详细信息,请查看Redis日志 信息我们必须支持这一点 -Redis配置文件 查看我们的redis.conf(位于/etc/redis/redis.conf)提示我们,dir路径值是 # The working directory. # # The DB will be written

我们面临着redis的一个问题,redis的路径设置没有任何通知

导致以下错误(写入redis时)

MICROF Redis配置为保存RDB快照,但当前 无法在磁盘上持久化。可以修改数据集的命令包括 残废有关错误的详细信息,请查看Redis日志

信息我们必须支持这一点

-Redis配置文件

查看我们的
redis.conf
(位于
/etc/redis/redis.conf
)提示我们,
dir
路径值是

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis
-Redis信息结果。

{“redis_版本”=>“2.8.17”,“redis_git_sha1”=>“00000000”, “redis\u git\u dirty”=>“0”,“redis\u build\u id”=>“e2de0295da7f0ee1”, “redis_模式”=>“独立”,“操作系统”=>“Linux 3.16.0-4-amd64 x86_64”, “arch_bits”=>“64”,“多路复用_api”=>“epoll”, “gcc_版本”=>“4.9.2”,“进程id”=>“6860”, “运行id”=>“4ecd0ff19798a88793e7a3ce281f398ba9aa2f5a”, “tcp_端口”=>“6379”,“正常运行时间(以秒为单位)”=>“99525”, “正常运行时间(以天为单位)”=>“1”,“hz”=>“10”,“lru时钟”=>“11741717”, “配置文件”=>“/etc/redis/redis.conf”,“连接的客户端”=>“2”, “客户端最长输出列表”=>“0”,“客户端最大输入列表”=>“0”, “已阻止的\u客户端”=>“0”,“已使用的\u内存”=>“784840”, “已用内存”=>“766.45K”,“已用内存”=>“3624960”, “使用过的内存峰值”=>“784840”,“使用过的内存峰值”=>“766.45K”, “已用内存”=>“33792”,“内存碎片率”=>“4.62”, “内存分配器”=>“jemalloc-3.6.0”,“加载”=>“0”, “rdb_自上次保存后更改”=>“0”,“rdb_正在保存”=>“0”, “rdb\U上次保存时间”=>“1454582288”,“rdb\U上次保存状态”=>“确定”, “rdb_上次保存时间秒”=>“0”,“rdb_当前保存时间秒”=>“-1”, “aof_已启用”=>“0”,“aof_正在重写”=>“0”, “aof_rewrite_scheduled”=>“0”,“aof_last_rewrite_time_sec”=>“-1”, “aof\u当前\u重写\u时间\u秒”=>“-1”, “aof_last_bgrewrite_status”=>“ok”,“aof_last_write_status”=>“ok”, “接收的总连接数”=>“12”, “处理的总命令数”=>“4651”,“每秒瞬时操作数”=>“0”, “拒绝的\u连接”=>“0”、“完全同步”=>“0”、“部分同步\u确定”=>“0”, “同步部分密钥错误”=>“0”、“过期密钥”=>“0”、“退出密钥”=>“0”, “键空间点击”=>“0”,“键空间未点击”=>“0”,“pubsub\u频道”=>“0”, “pubsub\u patterns”=>“0”,“最新的\u fork\u usec”=>“206”,“角色”=>“master”, “已连接的从机”=>“0”,“主复制偏移量”=>“0”, “repl_backlog_active”=>“0”,“repl_backlog_size”=>“1048576”, “repl_backlog_first_byte_offset”=>“0”,“repl_backlog_histlen”=>“0”, “使用过的cpu系统”=>“57.78”,“使用过的cpu用户”=>“25.71”, “已用cpu系统子项”=>“0.00”,“已用cpu用户子项”=>“0.00”, “db0”=>“keys=2851,expires=0,avg_ttl=0”}

重点

 redis.info['config_file'] 

 => /etc/redis/redis.conf
Redis的进程id

 redis.info['process_id']

 => 6860
-Redis配置

然后我检查了redis配置并

redis.config "get" ,"dir"

=> ["dir", "/etc/ssh"]
## ideally should be /var/lib/redis
我做了很多事情来修正上面的错误

redis.config "set" ,"dir","/var/lib/redis"
=> "OK" 

redis.config "get", "dir"
=> ["dir", "/var/lib/redis"]
这类问题可以解决(上述问题)。只是暂时的,因为

几个小时后我注意到了这一点

redis.config "get" ,"dir"
=> ["dir", "/etc/ssh"]
再次检查redis配置

-Redis Info

{“redis_版本”=>“2.8.17”,“redis_git_sha1”=>“00000000”, “redis\u git\u dirty”=>“0”,“redis\u build\u id”=>“e2de0295da7f0ee1”, “redis_模式”=>“独立”,“操作系统”=>“Linux 3.16.0-4-amd64 x86_64”, “arch_bits”=>“64”,“多路复用_api”=>“epoll”, “gcc_版本”=>“4.9.2”,“进程id”=>“6860”, “运行id”=>“4ecd0ff19798a88793e7a3ce281f398ba9aa2f5a”, “tcp_端口”=>“6379”,“正常运行时间(以秒为单位)”=>“109032”, “正常运行时间(以天为单位)”=>“1”,“hz”=>“10”,“lru时钟”=>“11751224”, “配置文件”=>“/etc/redis/redis.conf”,“连接的客户端”=>“2”, “客户端最长输出列表”=>“0”,“客户端最大输入列表”=>“0”, “已阻止的\u客户端”=>“0”,“已使用的\u内存”=>“788984”, “使用过的内存”=>“770.49K”,“使用过的内存”=>“3629056”, “已用内存峰值”=>“808952”、“已用内存峰值”=>“789.99K”, “已用内存”=>“33792”,“内存碎片率”=>“4.60”, “内存分配器”=>“jemalloc-3.6.0”,“加载”=>“0”, “rdb_自上次保存后更改”=>“82”,“rdb_正在保存”=>“0”, “rdb_上次保存时间”=>“1454591521”,“rdb_上次保存状态”=>“确定”, “rdb_上次保存时间秒”=>“0”,“rdb_当前保存时间秒”=>“-1”, “aof_已启用”=>“0”,“aof_正在重写”=>“0”, “aof_rewrite_scheduled”=>“0”,“aof_last_rewrite_time_sec”=>“-1”, “aof\u当前\u重写\u时间\u秒”=>“-1”, “aof_last_bgrewrite_status”=>“ok”,“aof_last_write_status”=>“ok”, “接收的总连接数”=>“14”, “处理的总命令数”=>“6966”,“每秒瞬时操作数”=>“0”, “拒绝的\u连接”=>“0”、“完全同步”=>“0”、“部分同步\u确定”=>“0”, “同步部分密钥错误”=>“0”、“过期密钥”=>“0”、“退出密钥”=>“0”, “键空间点击”=>“0”,“键空间未点击”=>“0”,“pubsub\u频道”=>“0”, “pubsub\u patterns”=>“0”,“最新的\u fork\u usec”=>“135”,“角色”=>“master”, “已连接的从机”=>“0”,“主复制偏移量”=>“0”, “repl_backlog_active”=>“0”,“repl_backlog_size”=>“1048576”, “repl_backlog_first_byte_offset”=>“0”,“repl_backlog_histlen”=>“0”, “使用过的cpu系统”=>“62.96”,“使用过的cpu用户”=>“27.97”, “已用cpu系统子项”=>“0.00”,“已用cpu用户子项”=>“0.00”, “db0”=>“keys=2902,expires=0,avg_ttl=0”}

关键点

 redis.info["process_id"]
 => 6860

 redis.info['config_file']
 => /etc/redis/redis.conf
所以

  • Redis服务器从未重新启动。(
    process\u id
    说明了这一点)

  • Redis正在选择正确的配置文件,即
    /etc/Redis/Redis.conf

  • 问题。 那么,如果第1点和第2点为真,是什么导致
    redis
    在几个小时后将
    config
    dir
    值设置为
    /etc/ssh
    ?(从昨天起,我已重置配置5-6次。

    注意:

    还重新启动了服务器(昨天),希望问题能够永久解决。但是没有运气

    注意