这几天客户一直给我反映一个问题,那就是他的缓存服务器redis每天会清理库,很纳闷,我配置的redis一般保持的默认,不应该会每天去清理库的,感觉应该还是他的程序上有点问题吧。
不过,不管程序问题还是配置问题,我想到就是可以吧清库的命令禁掉,这样即使他程序要去清理也是没办法的,于是就百度了一下,看到所有相关的文档都是一个人写的,就是在redis.conf中使用rename-conmand
1
2
3
|
rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command KEYS "" |
完了,之后我就去重启redis,以为OK了,仔细看了redis的日志,发现有问题。
1
|
Unknown command ‘flushall‘ reading the append only file |
这是啥问题,直接百度,根本没有这个问题的解答,仔细看append only这个,感觉在哪见过,于是到redis.conf文件中找,果然在里面,又到官网看了这个参数的意思。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
############################## APPEND ONLY MODE ############################### # 默认情况下,Redis是异步的把数据导出到磁盘上。这种模式在很多应用里已经足够好,但Redis进程 # 出问题或断电时可能造成一段时间的写操作丢失(这取决于配置的save指令)。 # # AOF是一种提供了更可靠的替代持久化模式,例如使用默认的数据写入文件策略(参见后面的配置) # 在遇到像服务器断电或单写情况下Redis自身进程出问题但操作系统仍正常运行等突发事件时,Redis # 能只丢失1秒的写操作。 # # AOF和RDB持久化能同时启动并且不会有问题。 # 如果AOF开启,那么在启动时Redis将加载AOF文件,它更能保证数据的可靠性。 # # 请查看 http://redis.io/topics/persistence 来获取更多信息. appendonly no # 纯累加文件名字(默认:"appendonly.aof") appendfilename "appendonly.aof" |
于是,就抱着碰运气的想法,把配置改了appendonly yes改为no,重启redis,果然够没有任何报错,而且,那三个命令也被禁用了。
以上这篇redis禁止几个危险命令的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。