Redis是一个简单高效的内存KV数据库,基本上下载源码make install,编译完成,然后进入src目录运行redis-server即可运行。就是因为这么简单往往有朋友直接运行,将没有密码的redis暴漏外网,最终数据被泄漏。鉴于这些血泪的教训,有必要来说一下redis的配置文件,当然这也比较简单,老鸟可以飘过。
默认的redis.conf存在于下载的源码的根目录下。下面是我配置的部分,没有列出来的就是我也没有动过的默认配置项。
#引用其他配置文件 # include /path/to/local.conf # include /path/to/other.conf #是否daemon运行no,yes daemonize no #pid文件的位置 pidfile /tmp/redis.pid #开放的端口号 port 6379 #listen队列的长度 tcp-backlog 511 #绑定ip地址,多个ip用空格分隔 bind 127.0.0.1 #我没有用到 # unixsocket /tmp/redis.sock # unixsocketperm 755 #客户端空闲多少s后踢掉,0禁止 timeout 0 #检测挂掉的连接,单位s,0禁止 tcp-keepalive 0 #日志的等级,debug,verbose,notice,warning loglevel notice #log文件的路径,为空的话直接显示在终端 logfile "" #是否使用系统logger,一直没有用过。 # syslog-enabled no/ # syslog-ident redis # syslog-facility local0 #redis中有多少个数据库,默认即可 databases 16 #将redis内存数据序列化到磁盘的时间和频率 #900s有1个key改变就会序列化,其他的读者可以自己看下 save 900 1 save 300 10 save 60 10000 #序列化的时候是否停止写操作 stop-writes-on-bgsave-error yes #序列化的数据是否压缩 rdbcompression yes #序列化的数据是否校验其完整性 rdbchecksum yes #序列化的文件名,只是文件不能带目录 dbfilename redis.rdb #序列化文件的目录 dir /tmp #以下是主从备份,我还没有使用到 # slaveof <masterip> <masterport> # masterauth <master-password> slave-serve-stale-data yes slave-read-only yes # repl-ping-slave-period 10 # repl-timeout 60 repl-disable-tcp-nodelay no # repl-backlog-size 1mb # repl-backlog-ttl 3600 slave-priority 100 # min-slaves-to-write 3 # min-slaves-max-lag 10 #客户端连接的密码 requirepass hello # rename-command CONFIG "" #限制客户端的数量 # maxclients 10000 #设置最大可用内存 # maxmemory <bytes> #内存替换算法 # maxmemory-policy volatile-lru # maxmemory-samples 3