master禁用数据持久化,只在slave上配置数据持久化

 

物理内存+虚拟内存不足,这个时候dump一直死着,时间久了机器挂掉

当Redis物理内存使用超过内存总容量的3/5时就会开始比较危险了,就开始做swap,内存碎片大
当达到最大内存时,会清空带有过期时间的key,即使key未到过期时间。

redis优化

1.redis安全

①为redis客户端设置外部链接密码

警告: 
因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在1秒内进行上万次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。

方法一:
vim /usr/local/redis/conf/redis.conf                 #修改redis配置文件,添加密码
requirepass 123456
#重启redis
redis-cli shutdown
redis-server /usr/local/redis/conf/redis.conf
方法二:
#交互式登陆redis设置密码
redis-cli                        #登录redis
config set requirepass 123456           #设置密码 
config rewrite              #将配置重写进行保存

特别提示: 
redis没有用户的概念,只能设置连接密码,并且redis的连接速度非常快。因此密码需要设置的很复杂才安全。

②将危险的命令改名  Redis禁用屏蔽危险命令

FLUSHALL和FLUSHDB会清除redis的数据,比较危险 
KEYS在键过多的时候使用会阻塞业务请求

#修改配置文件
vim /usr/local/redis/conf/redis.conf
rename-command set "sset"        #将set修改为sset    
rename-command keys ""          #屏蔽掉keys命令不使用
rename-command FLUSHALL ""        #将命令改名成空
rename-command FLUSHDB ""         #将命令改名成空

 

 

系统参数优化调整 

(1)调整系统文件描述符

echo "* - nofile 10240" >> /etc/security/limits.conf    #设置系统文件描述符
bash          #刷新                                     ulimit
-n        #查看系统文件描述符

(2)调整系统的TCP连接数

echo "net.core.somaxconn = 10240" >> /etc/sysctl.conf   #修改配置文件设置TCP连接数
sysctl -p          #查看tcp连接数
net.core.somaxconn = 10240

(3)调整系统内存分配策略

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf     #调整内存分配策略当redis定义内存将要满时,抢占系统内存
sysctl -p

(4)关闭系统内核的巨大内存页支持

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local     #设为开机自启动
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local      

Redis最大内存设置和删除算法

#默认对内存无限制
set maxmemory 1M       #限制1M
get maxmemory          #查看

可选择的删除算法

volatile-lru: 
使用LRU算法删除键(key需要设置过期时间)
volatile-random: 
随机删除键(key需要设置过期时间)
volatile-ttl: 
删除ttl最小的键(key需要设置过期时间)
allkeys-lru: 
使用LRU算法删除键(所有key)
allkeys-random: 
随机删除键(所有key)
noeviction: 
不进行任何的操作,只返回错误,默认
redis-cli config get maxmemory-policy     #查看内存清理算法
1) "maxmemory-policy"
2) "noeviction"                     #默认noeviction

 

 

 

posted on 2018-08-23 22:07  临渊慕鱼不如退而结网  阅读(295)  评论(0编辑  收藏  举报