redis.conf
- 设置存储单位的名称,只支持bytes不支持bits
- include 包含其他配置文件
- module 导入模块
- bind=127.0.0.1 默认:绑定本机网卡的ip地址,只有本机的客户端可以访问到此redis服务。
- protect-mode 安全开关,保持开启就好,防止服务器连接暴露给网络中的所有客户端。
- port 6379 默认监听端口
- tcp-backlog 设置tcp的backlog,backlog是连接队列,队列总和= 未完成三次握手的连接队列+已经完成三次握手的连接队列的和。高并发环境下需要高backlog来避免客户端连接慢的问题。
- timeout 0 在0s后关闭闲置的客户端连接,0s表示永不超时,客户端闲置时永不关闭连接。
- tcp-keepalive 300 服务端发送ack到客户端的事件间隔(s)
- daemonize no 默认不以守护线程的方式启动,可以开启
- pidfile /var/run/redis_6379.pid,以守护线程的方式开启,则在左边的文件中,记录进程描述符。
- loglevel notice 日志级别,生产环境可以调高
- logfile 日志路径
- databases 16 redis默认有16个数据库,默认使用0号
- masterauth 设置redis密码,默认为空
- limits
注意事项
关于bind
redis服务绑定本机网卡的ip地址。(注意bind不是限定了访问redis服务器的主机ip地址,如果想要限定访问服务器的ip地址,只能通过设置防火墙的方式)。绑定后,redis服务在bind绑定的ip地址的6379端口监听连接,换言之客户端只有访问此ip才能访问到redis服务。
假如本机有两个ip地址,ip1和ip2,(可以使用ifconfig来查看本机ip),如果bind绑定了ip1,则访问ip2就无法访问到redis服务。
关于protected-mode
protected-mode是redis本身的一个安全层,这个安全层的作用:就是只有【本机】可以访问redis,其他任何都不可以访问redis。这个安全层开启必须满足三个条件,不然安全层处于关闭状态:
(1)protected-mode yes
(2)没有设置bind指令。
(3)没有设置密码。
修改配置文件使redis服务可以被远程客户端访问
- 使用 ifconfig | grep inet 得到本机ip地址
- 配置文件redis.conf 中 bind绑定该ip地址 如:bind 192.168.1.103
- 使用redis-server redis.conf 开启服务
此时远程的客户端就可以通过10.2.149.235访问redis
如jedis中:
public class JedisDemo {
public static void main(String[] args) {
Jedis jedis = new Jedis("10.2.149.235", 6379);
System.out.println(jedis.ping());
}
}
输出:Pong,表示连接远程机器成功