Redis学习笔记一:基本安装和配置

时间:2022-06-27 09:16:43

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是否正常工作

  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