redis配置

Cowboy3.0

所涉及到软件版本

redis-2.2.11.tar.gz
google-perftools-1.7.tar.gz

将上述软件包都放到/software/redis下

----------------------------------------------------------------
一 安装 google-perftools
tar zxvf google-perftools-1.7.tar.gz
cd google-perftools-1.7
./configure --enable-frame-pointers
make
make install

添加环境变量
vi /etc/profile
LD_PRELOAD=/usr/local/lib
source /etc/profile
----------------------------------------------------------------
二 安装redis
tar zxvf redis-2.2.11.tar.gz -C /usr/local/
mkdir /var/lib/redis
cd /usr/local/redis-2.2.11/
make USE_TCMALLOC=yes
cd src/
cp redis-benchmark redis-cli redis-server /usr/bin/
cp redis.conf /etc/
----------------------------------------------------------------
三 redis配置文件
参考
redis\software\redisacsm6341.conf  \\生产环境acs项目主redis配置文件
redis\software\redisacss6341.conf   \\生产环境acs项目从redis配置文件
----------------------------------------------------------------
四 启动redis
redis-server /etc/redis.conf &
----------------------------------------------------------------
五 redis配置文件相关参数说明(★为主要配置)

daemonize no                   //默认下,redis启动不以守护进程的方式启动,生产环境下建议将配置改为yes★

pidfile /var/run/redis.pid    //pid文件存放路径★

port 6379                     //配置redis端口,默认6379。可以将port配置为0,此时不监听tcp协议★

bind 127.0.0.1               //绑定ip。默认绑定所有本机ip,一般用在服务器多ip下,可以只监听内网服务器ip,保证服务安全

unixsocket /tmp/redis.sock   //sock文件

timeout 300                 //客户端超时时间,单位秒

loglevel verbose            //log级别,支持四个级别,debug,notice,verbose,warning
logfile                     //log文件路径
logfile stdout              //log输出到标准设备,logs不写文件,输出到空设备,/deb/null

save <seconds> <changes> //保存快照的频率,在多长时间内执行一定数量的写操作时,保存快照的频率,可以设置多个条件。如果都注释掉,则不做内存数据持久化。如果只是把redis只用作cache,不开启持久化功能★
save 900 1

rdbcompression            //是否使用压缩
dbfilename                //快照数据库名称
dir                       //数据库存放路径

slaveof <masterip> <masterport>   //redis主从 做法  在从上填上主的IP和端口号 主上不用做任何设置★
masterauth <master-password>      //主库服务器口令,如果主服务器未打开requirepass,则不需要此项
slave-serve-stale-data yes        //在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。

requirepass foobared              //设置redis服务密码,如果开启,则客户端连接时需要 -a  指定密码,否则操作会提示无权限

rename-command                    //命令改名,相当于linux  alias,可以用改功能屏蔽一些危险命令

maxclients 128                   //最大连接数;0 表示不限制

maxmemory <bytes>               //最大使用内存(分配的内存),推荐生产环境下做相应调整,我们用的是只用来做高速缓存,限制2G。默认情况下,redis会占用可用的所有内存★

maxmemory-policy volatile-lru   //过期策略,提供六种策略 
volatile-lru    //删除过期和lru 的key(默认值)
allkeys-lru     //删除lru算法的key 
volatile-random //随机删除即将过期key 
allkeys->random //随机删除
volatile-ttl    //删除即将过期的 
noeviction      //永不过期,返回错误

appendonly    //是否开启appendonlylog,开启的话每次写操作会记一条log。相当于mysql的binlog;不同的是,每次redis启动都会读此文件构建完整数据。即使删除rdb文件,数据也是安全的

appendfilename appendonly.aof    //日志文件的名称,默认appendonly.aof
appendfsync                      //异步写append file 的策略。类似mysql事物log写方式。三种
appendfsync always               //同步,每次写都要flush到磁盘,安全,速度慢。
appendfsync everysec             //每秒写(默认值,推荐值)同mysql
appendfsync no                   //交给操作系统去做flush的动作
no-appendfsync-on-rewrite no     //防止linux阻止长耗时io问题的

vm-enabled no                   // 虚拟内存开关
vm-swap-file /tmp/redis.swap    //swap文件,不同redis swap文件不能共享。而且生产环境下,不建议放在tmp目录。
vm-max-memory 0                 //vm大小限制。0:不限制,建议60-80% 可用内存大小。
vm-page-size 32                 //根据缓存内容大小调整,默认32字节。
vm-pages 134217728              //page数。每 8 page,会占用1字节内存。vm-page-size * vm-pages 等于 swap 文件大小
vm-max-threads 4                //vm 最大io线程数。注意: 0 标志禁止使用vm
----------------------------------------------------------------
四、优化redis
如果你决定把Redis用于生产环境,还要注意maxmemory选项,因为Redis在启动时会把所有数据加载到内存中,所以设定maxmemory相对安全
echo 1 > /proc/sys/vm/overcommit_memory
----------------------------------------------------------------
五 涉及其他关联
1.内核参数调优
2.iptables防火墙策略(对前端web app开放内网redis端口)

你可能感兴趣的:(redis)