我用的Redis数据库是基于windows的,所以是按照Windows版本的配置文件来写,可能与linux版本的有一点点微小的差别。例如windows版本的daemonize 的参数设置默认是yes,也就是说Windows版本的redis运行起来后,默认就是后台运行的。不需要在意是否关闭窗口。
1. include
redis的配置参数是后面覆盖前面的,如果不想逐项修改参数,而且手里有合适的配置参数模板。那么可以在数据库的配置文件最后一行,把配置参数模板include进来,就可以覆盖原有参数配置文件的设置了。适用于多个服务器配置。
2. bind
这个配置的作用是限制可以被访问的ip。这个地方比较容易理解错误,往往会以为是在现在来访的机器的ip地址(我原来也是这样认为的)。但是这个配置的实际用途是限制被访问的机器,也就是自己本身的ip地址。如果你设置成127.0.0.1,那么就是内部回环地址,这个地址只能从内部访问,所以你的redis数据库只能被它所在的电脑访问。如果你的redis服务器所在电脑有两个网卡,那就会有两个ip地址(比如一个网卡接内网是192.168.1.123,另外一个网卡接外网是192.168.101.456)。那么你可以限制别人只能从其中一个网卡来访问你的redis服务器。比如,只允许从内网访问,那么可以设置bind 192.168.1.123,只有和这个ip地址在一个局域网内的机器才能访问,从外网是无法访问redis服务器的。
3. protected-mode
这个配置是为了保护数据库的安全性。当设置为yes时,如果服务器没有用bind限制访问的ip,也没有设置访问密码,那么服务器只能从本机,也就是127.0.0.1访问。
默认值是yes,如果的确需要,可以手动改为no。
4. port
默认访问的端口是6379,不建议修改。
5. tcp-backlog 511
我的理解是这个设置是用来应付一个低速客户端访问服务器的情况。相当于设置一个缓存,这样服务器不需要等待低速客户端的反应。可以保持服务器端的高速运行。理论上这个值是越大越好,但是实际的大小仍然要受到实际的情况的限制。
6. timeout 0
这个参数是设置客户端连接服务器的空闲时间上限。以秒为单位。例如设置为timeout 5 ,那么某一个客户端超过5秒没有和服务器交换数据,这个客户端的连接就会被关闭。如果客户端要再次和服务器交换数据的话,需要重新登录连接。设置为0就是关闭这个功能。客户端一旦连接上服务器,就一直保持连接。
7. tcp-keepalive
我的理解是这个参数是用来设置服务器定时向与它相连的客户端发送应答信号的时间周期的。当客户端与服务器长时间没有通讯时,服务器向客户端定期发送ACK信号,一是确保客户端没有死机,二是保持通讯连接处于激活状态。设置数据单位为秒。0表示不设置。
8. loglevel
设置log文件的记录等级,分为debug,verbose,notice,warning四个等级。debug最详细,但是信息量过于庞大,在系统调试稳定后,就没有必要了,否则会占用很多磁盘空间。warning保存的信息最少,只保留最关键的信息。
9. databases
数据库个数,默认是16个。
仅作学习笔记,如有错误,敬请谅解。如能告知错误,不胜感激。