redis.conf

redis配置文件

Posted by Haven Tong on 2019-12-06

redis.conf

绑定的主机地址
1
bind 127.0.0.1

如果需要远程访问,则需要注释掉

守护进程
1
daemonize no

Redis默认以非守护进程运行,如果想要改为守护进程,则设置为yes

pidfile
1
pidfile /var/run/redis_6379.pid

设置当Redis以守护进程运行时,它的pid写入的文件

端口
1
port 6379

指定Redis的端口

日志记录级别
1
loglevel verbose

Redis总共支持四个级别:debug, verbose, notice, warning, 默认为verbose

设置数据库个数
1
databases 16
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
1
save <seconds> <changes>

默认配置文件提供三种操作

1
2
3
save 900 1
save 300 10
save 60 10000

满足一个就持久化

指定本地数据库文件名,默认为dump.rdb
1
dbfilename dump.rdb
指定本地数据库存放目录
1
dir ./

默认当前目录

主从服务
1
slaveof <masterip> <masterport>

设置当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步

master服务密码保护
1
masterauth <master-password>

当master服务设置了密码保护时,slave服务连接master服务的密码

设置redis连接密码
1
requirepass foobared

如果配置了连接密码,客户端在连接Redis时需要通过 AUTH <password>命令提供密码,默认关闭

Java连接redis必须设置密码

设置最大客户端连接数,默认无限制
1
maxclients 10000
指定redis最大内存限制
1
maxmemory <bytes>
  • 建议根据服务器实际情况设置

  • 建议不要超过1G

对于redis中的内存管理有两种方案:
  • 为数据设置超时事件

  • 采用LRU算法将不用的数据删除

    • volatile-lru: 设定超时时间的数据中,删除最不常使用的元素
    • allkeys-lru: 查询所有key中最近最不常使用的数据进行删除,应用最广泛
    • volatile-random: 在已经设定了超时的数据中随机删除
    • allkeys-random: 查询所有的key之后随机删除
    • volatile-ttl: 查询全部设定超时时间的数据,之后排序,将马上快要过期的数据进行删除操作
    • noevication: 不进行删除操作,内存溢出就报错返回

配置redis服务端

  • 允许远程访问

    注释掉 bind 127.0.0.1

  • 以守护进程运行

    daemonize no 改为 daemonize yes

  • Java 连接redis必须设置密码:

    requirepass <password>

查看redis是否在运行
1
ps -ef | grep -i redis
远程连接redis
1
redis-cli -h <ip> -p <port> -a <password>