redis.conf
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 | save 900 1 |
满足一个就持久化
指定本地数据库文件名,默认为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> |