一、配置项
redis相关配置项都存放在redis.conf文件中,暂时只列举常见的几个,其余的工作中用到再回来更新
1、网络
- bind:指定redis只能接受来自此IP绑定的网卡的请求,注意此默认值默认外网是不可访问的,如果想要开启远程访问redis服务器,就要把127.0.0.1注释掉
- port:redis的服务端口
- protected-mode:是否开启保护模式。如果没有指定bind和密码,redis只会本地进行访问,拒绝外部访问
- tcp-backlog:backlog表示队列,这个配置项就是指backlog队列总和=tcp未完成三次握手的队列+tcp已完成三次握手的队列,在高并发环境下你需要一个高backlog值来避免慢客户端连接问题
- timeout:当客户端闲置300s未对服务器发出指令,那么就关闭连接,写成0表示永不超时
- tcp-keepalive:每隔多少秒检测一次连接是否还活着,以此来决定是否释放连接
2、基本配置
- daemonize:Redis 默认不是以守护进程的方式运行,使用 yes 启用守护进程,可以理解成后台启动
- pidfile:例如pidfile /var/run/redis.pid,当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid 文件
- loglevel:日志级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 notice
- databases:redis数据库数量,我们默认使用0号库
- maxclients:客户端最大连接数量
- maxmemory:单位byte,指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区
3、安全
- requirepass:设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过
AUTH <password>
命令提供密码,默认关闭
二、发布和订阅
1、什么叫发布与订阅
它是一种消息的通信模式,消息的发布者(pub)发布消息到频道(channel)中,订阅了此频道的订阅者(sub)接收推送到频道中的消息。redis客户端可以订阅任意数量的频道
2、命令演示
我们首先开启一个客户端A,订阅channelA
127.0.0.1:6379> subscribe channelA channelB
然后再开启一个客户端B,向channelA中发布消息
127.0.0.1:6379> publish channelA testBB
效果如图,客户端B向channelA中发布的消息被客户端A成功消费
如有错误,欢迎指正!!!