1.安装
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
编译安装:
tar xf redis-3.2.3.tar.gz cd redis-3.2.3 make && make install
配置:
mkdir /etc/redis 建立配置文件存放目录 cp -a redis.conf /etc/redis/6379.conf 复制配置文件 cp -a utils/redis_init_script /etc/init.d/redis 复制启动脚本 mkdir -p /home/redis-home 建立数据存放目录 ip=`ip addr show eth0 | grep eth0 | grep inet | cut -d" " -f 6 | cut -d"/" -f 1` 获取接口ip sed -i "s/^bind.*$/bind 127.0.0.1 $ip/" /etc/redis/6379.conf 配置bind绑定ip地址 sed -i 's/^daemonize no/daemonize yes/' /etc/redis/6379.conf 配置开机启动为yes sed -i 's/^dir .\//dir \/home\/redis-home/' /etc/redis/6379.conf 配置数据存放文件为建立的redis-home目录 sed -i '3i# chkconfig: - 86 14\n# descript: redis init script' /etc/init.d/redis 配置启动文件加入chkconfig描述
启动:
chkconfig --add redis 配置reids加入开机启动
chkconfig redis on 配置redis开机启动
service redis start 启动redis
dbsize 测试redis是否正常工作
service redis stop 关闭redis
2.redis.conf
daemonize yes 是否以后台程序运行,默认no pidfile /var/run/redis.pid 后台运行,需要制定pid port 6379 默认监听端口6379 timeout 0 链接超时时间 loglevel notice 日志等级,debug,verbose,notice,warning logfile "" 输出日志文件,'stdout'标志输出,如果以后台运行,输出到/dev/null # syslog-enabled no 是否输出到系统日志 # syslog-ident redis 系统日志标识符 # syslog-facility local0 databases 16 设置数据库数目 save 900 1 save 300 10 save 60 10000 过了900s并且有1个key发生改变,就会触发save动作 rdbcompression yes 存储数据时是否压缩数据,默认yes dbfilename dump.rdb 保存dump数据的文件名 dir ./ 工作目录,必须是目录而不是文件 slaveof <masterip> <masterport> slaveof把一个redis实例设置为另一个redis的从库 masterauth <master-password> slave-serve-stale-data yes # requirepass foobared 指定需要密码登录 # maxclients 10000 连接最大数限制,建议不限制 # maxmemory <bytes> 使用最大内存限制,建议不限制 # maxmemory-policy noeviction 默认配置:volatile-lru:使用lRUnning算法来删除过去的set ,allkeys-lru 删除任何遵循LRU算法的key,volatile-random,随机删除过期的set中的key,allkeys-random,随机删除一个key,volatile-ttl,删除最近即将过期的key.noeviction,根本不过期,写操作报错 appendonly no 开启该模式后,会把每一个操作记录在appendonly.aof文件中,在redis重启时被读取到内存中重新构建数据库 appendfilename "appendonly.aof" # appendfsync always appendfsync everysec # appendfsync no no:不fsync, 只是通知OS可以flush数据了,具体是否flush取决于OS.性能更好. always: 每次写入append only 日志文件后都会fsync . 性能差,但很安全. everysec: 没间隔1秒进行一次fsync. 折中 no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb append only 文件的自动重写,为0时关闭重写, slowlog-log-slower-than 10000 负数则关闭slow log,0则会导致每个命令都被记录 slowlog-max-len 128 REDIS CLUSTER