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