黑猴子的家:Redis 相关配置

Redis 相关配置,主要是对redis.conf 的讲解

[root@hadoop102 ~]# cd /myredis/
[root@hadoop102 myredis]# vim redis.conf 

1、计量单位说明

9193428-c795d05833487d43.png

 

大小写不敏感

2、include

把外面的配置文件,引入到里面来,有什么好处?? 解耦
类似jsp中的include,多实例的情况可以把公用的配置文件提取出来

 

9193428-1f1cc361762f7a03.png

3、 ip地址的绑定(bind)

(1)默认情况bind=127.0.0.1只能接受本机的访问请求
(2)不写的情况下,无限制接受任何ip地址的访问,需要关闭保护模式来配合
(3)生产环境肯定要写你应用服务器的地址
(4)如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的相应

注意:如果ip给注释掉后,又没有设置密码,需要把protected-mode 保护模式设置为no,关闭模式

4、tcp-backlog

(1)可以理解是一个请求到达后至到接受进程处理前的队列
(2)backlog队列,相当于两个队列,一个是握手队列,一个是等待执行的队列
(3)高并发环境tcp-backlog 设置值,跟超时时限内的Redis吞吐量决定
注意:轻易不改,因为还需要该系统之类…

5、timeout

一个空闲的客户端维持多少秒会关闭,0为永不关闭。
注意:生产环境基本设置为60秒

6、TCP keepalive

对访问客户端的一种心跳检测,每个n秒检测一次,检查所有连接我的客户端是否活着
官方推荐设为60秒。

7、daemonize

是否为后台进程
daemonize yes
注意 基本都是设置为后台启动

8、pidfile

存放pid文件的位置,每个实例会产生一个不同的pid文件
进程号,存在一个文件里

 

9193428-dc88d09747b3dc0d.png

9、log level

java 日志级别有
trace、debug、info、error、warn、fatal

日志为什么要分级别呢?
不同的场景,不同情况下,我对日志打出的密度是有不同的需求

redis分四个级别
四个级别根据使用阶段来选择,生产环境选择notice 或者warning

10 、logfile

日志文件名称
logfile ""
注意:空着表示不输出,要是看日志可以设置路径和文件名

11、database

设定数据库的数量 默认16,也可以调多点
生产上基本0号库就ok了

12、security 安全

设置密码 123123

[root@hadoop102 myredis]# vim redis.conf 
requirepass 123123
// 修改配置文件,需要重启
[root@hadoop102 myredis]# redis-cli shutdown
[root@hadoop102 myredis]# redis-server /myredis/redis.conf
[root@hadoop102 myredis]# redis-cli 
//设置密码后,需要通过auth + 密码 来获取权限
127.0.0.1:6379> auth 123123
OK

(1)在命令行中设置密码,通过 config get * 命令 查看可以在线修改的参数

127.0.0.1:6379> config get *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
5) "masterauth"
6) ""

133) "unixsocketperm"
134) "0"
135) "slaveof"
136) ""
137) "notify-keyspace-events"
138) ""
139) "bind"
140) "127.0.0.1"

127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

127.0.0.1:6379> config set requirepass "123123"
OK

127.0.0.1:6379> get k1
(error) NOAUTH Authentication required.

//设置密码后,需要通过auth + 密码 来获取权限
127.0.0.1:6379> auth 123123
OK

127.0.0.1:6379> get k1
(nil)

127.0.0.1:6379>

9193428-dd5692a79155569f.png

(2)配置文件设置密码

requirepass 123123

127.0.0.1:6379> AUTH 123123

注:AUTH 是设置密码后,获取权限的意思

 

9193428-2544296e4e65182c.png

13、maxclient

最大客户端连接数
Maxclient 10000
注:默认是一万个,基本不修改,太大了,redis可能会扛不动

14、maxmemory

(1)设置Redis可以使用的内存量。一旦到达内存使用上限,Redis将会试图,移除内部数据,移除规则可以通过maxmemory-policy来指定。

(2)如果Redis无法根据移除规则来移除内存中的数据,或者设置了"不允许移除",那么Redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。
注: 设置"不允许移除"不好,容易导致雪崩效应

15、Maxmemory-policy

默认

[root@hadoop102 myredis]# vim redis.conf 
Maxmemory-policy noeviction

(1)volatile-lru:使用LRU算法移除key,只对设置了过期时间的键
(2)allkeys-lru:使用LRU算法移除key
(3)volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
(4)allkeys-random:移除随机的key
(5)volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
(6)noeviction:不进行移除。针对写操作,只是返回错误信息

16、Maxmemory-samples 样本

从内存移除数据的时候,本来资源就紧张,不会把全部数据,按照规则都算一遍,这样将消耗大量的性能,按照抽取样本的方式,样本不要太大,否则性能消耗大,也不要太小
(1)设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小。

(2)一般设置3到7的数字,数值越小样本越不准确,但是性能消耗也越小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值