redis安装及配置

相信对于很多开发者来说redis并不陌生,它的高性能经常被大家用做缓存,当然它还可以用作计数器(ip防爬),队列(celery),位操作及分布式锁做排行榜等等功能。在这里就简单记录一下centos6下redis的安装及一些参数说明配置

 一.redis安装

redis官网下载地址http://download.redis.io/releases/,根据你自己的需要下载对应的版本即可

1.安装

wget http://download.redis.io/releases/redis-5.0.6.tar.gz
tar xzf redis-5.0.6.tar.gz
cd redis-5.0.6
make
make install

2.配置文件修改(可远程连接使用)

修改配置文件redis.conf, vi redis.conf

把下面配置按需修改

bind 127.0.0.1  # 修改为你需要绑定的服务器ip,(也可以直接注释掉,允许所有)

protected-mode no  # 修改保护模式

daemonize yes  # 用守护进程方式启动(保证redis持续运行)

3.启动/关闭redis

src/redis-server redis.conf  # 启动redis
src/redis-cli shutdown  # 关闭redis

4.设置开机自启

wdcp添加redis开机自启

cd  utils/
./install_server.sh
chmod  755 /etc/init.d/redis_6379
chkconfig  --add redis_6379
chkconfig  --level 345 redis_6379 on
vi /etc/rc.local  # 进入rc.local文件中(并加入下面这段配置)

/opt/soft/redis-5.0.6/src/redis-server /opt/soft/redis-5.0.6/redis.conf

5.redis成功检测

# 查看redis进程是否正在运行
ps -ef | grep redis

# 检测6379端口是否在监听
netstat -lntp | grep 6379

# 检测连接是否正常
find ./ -name redis-cli  # 查看redis-cli路径
./src/redis-cli  # 启动redis-cli
set name "gmx"  # 设置key
get name  # 取值
exit  # 退出

 6.redis密码修改及安全防范

(1)密码修改

  密码修改呢也有两种方式,不过我一般是采用不需要重启配置的方式。

  不需要重启redis:进入redis-cli里面---->输入config set requirepass yourpwd--->验证密码,输入auth yourpwd

  linux文件搜索命令是按Esc / ,然后输入关键字(requirepass );按回车(按 字母 n  搜索 下一个);

  需要重启redis:进入redis.conf文件--->把配置文件里面的# requirepass foobared修改为requirepass yourpwd--->重启redis,service redis restart

(2)安全防护

  1.禁止root用户启动redis,为 redis 服务创建单独的用户和home目录,使用普通用户启动(业务程序永久别用root用户运行)

  2.限制redis文件目录访问权限,设置redis的主目录权限为700;如果redis配置文件独立于redis主目录,权限修改为600(redis密码明文存储在配置文件中)

chmod 700 /var/lib/redis   # redis目录
chmod 600 /home/redis-5.0.6/redis.conf  # redis配置文件

  3.设置复杂的连接密码(redis因查询效率高,auth这种命令每秒能处理10w次以上,简单的redis的密码极容易为攻击者暴破)

  4.尽量内网访问,也可把默认的6379端口改为其他等等

 二.redis配置参数介绍

简单介绍一下常用配置:

# vi redis.conf

daemonize yes  # 是否以后台进程运行(启动守护进程)
port 6379  # 监听的端口
bind 127.0.0.1  # 绑定地址,如外网需要连接,设置0.0.0.0(也可直接注释) 
timeout 300  # 连接超时时间,单位秒
loglevel notice  # 日志级别(debug :适用于开发和测试;verbose :更详细信息;notice :适用于生产环境;warning :只记录警告或错误信息
logfile /var/log/redis/redis-server.log  # 日志文件位置
databases 4  # 设置数据库数量(可用于多个系统)

############### 快照方式 ###############
save 900 1  #在900s(15m)之后,至少有1个key发生变化,则快照
save 300 10  #在300s(5m)之后,至少有10个key发生变化,则快照
save 60 10000 #在60s(1m)之后,至少有1000个key发生变化,则快照
rdbcompression yes  #dump时是否压缩数据
dir /var/lib/redis  #数据库(dump.rdb)文件存放目录

############### 安全 ###############
requirepass foobared  # 配置redis连接认证密码

############### 限制 ###############
maxclients 256  # 设置最大连接数,0为不限制
maxmemory <bytes>  # 内存清理策略,如果达到此值,将采用maxmemory-policy里面配置的方案
maxmemory-policy volatile-lru  # 如果达到maxmemory值,采用此策略
    '''noeviction :不过期,写操作返回报错;
    volatile-ttl :删除即将过期的key;
    allkeys-random :随机删除一个key;
    volatile-random :随机删除即将过期的key;
    allkeys-lru :删除不经常使用的key;
    volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除)'''
maxmemory-samples 5  #默认随机选择5个key,从中淘汰最不经常用的

redis详细配置可参考https://www.jb51.net/article/135837.htm#comments

redis的过期机制跟内存淘汰策略讲解可参考https://mp.weixin.qq.com/s/GYTyrp5vTVibVYI-3NHrNA

posted @ 2019-11-04 16:30  如何好听  阅读(470)  评论(0编辑  收藏  举报