1、redis下载安装
yum install gcc
cd /usr/local/
# 下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -zxvf redis-5.0.7.tar.gz
mv redis-5.0.7 redis
cd redis
# 编译
make
cd src
make install PREFIX=/usr/local/redis
makdir etc
# 移动启动配置
mv /usr/local/redis/redis.conf /usr/local/redis/etc/redis.conf
# 设置开机启动
vi /etc/rc.local
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
# 修改配置
vi /usr/local/redis/etc/redis.conf
# 允许后台启动
daemonize 改为yes
# 启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
# 关闭redis
/usr/local/redis/bin/redis-cli shutdown 或者pkill redis-server
2、redis.conf 配置详细信息(常用的一些)
基本
#指定redis只能接受来自此IP绑定的网卡的请求,注意此默认值默认外网是不可访问的
bind 127.0.0.1
#是否开启保护模式。如果没有指定bind和密码,redis只会本地进行访问,拒绝外部访问。
protected-mode yes
#默认端口,建议生产环境不要使用默认端口避免被恶意扫描到
port 6379
#客户端连接空闲超过timeout将会被断开,为0则断开(0表示不断,一直连着)
timeout 0
#tcp keepalive参数
#单位为秒,如果设置为0,则不会进行keepalive检测,建议设置成60
tcp-keepalive 300
#是否后台启动
daemonize no
#配置PID文件路径
pidfile /var/run/redis_6379.pid
#数据库的数量,默认使用的数据库是DB 0
#可以通过”SELECT “命令选择一个db
#集群环境默认只有DB 0
databases 16
#TCP连接中已完成队列(完成三次握手之后)的长度
#backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已完成三次握手队列。
#在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。
tcp-backlog 511
#可以通过upstart和systemd管理Redis守护进程
#选项:
#supervised no - 没有监督互动
#supervised upstart - 通过将Redis置于SIGSTOP模式来启动信号
#supervised systemd - signal systemd将READY = 1写入$ NOTIFY_SOCKET
#supervised auto - 检测upstart或systemd方法基于 UPSTART_JOB或NOTIFY_SOCKET环境变量
supervised no
#密码
#requirepass foobared
#设置最多同时连接的客户端数量
#maxclients 10000
#内存限制
#maxmemory <bytes>
#如果达到上方最大的内存限制,Redis如何选择删除key
#volatile-lru -> 根据LRU算法删除设置过期时间的key
#allkeys-lru -> 根据LRU算法删除任何key
#volatile-random -> 随机移除设置过过期时间的key
#allkeys-random -> 随机移除任何key
#volatile-ttl -> 移除即将过期的key(minor TTL)
#noeviction -> 不移除任何key,只返回一个写错误
#注意:对所有策略来说,如果Redis找不到合适的可以删除的key都会在写操作时返回一个错误。
#目前为止涉及的命令:set setnx setex append incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby getset mset msetnx exec sort
#maxmemory-policy noeviction
#LRU和最小TTL算法的样本个数
#maxmemory-samples 5
日志
#日志文件
logfile ""
#日志级别
#参数:
# debug
# verbose
# notice
# warning
loglevel notice
#是否打开记录syslog功能
#syslog-enabled no
#syslog标识符
#syslog-ident redis
#是否一直显示logo
always-show-logo yes
懒删除
#内存满逐出
lazyfree-lazy-eviction no
#过期key删除
lazyfree-lazy-expire no
#内部删除,比如rename oldkey newkey时,如果newkey存在需要删除newkey
lazyfree-lazy-server-del