1.redis编译安装执行make后会在源码包src目录下生成五个执行程序文件

redis-benchmark #redis的性能测试工具
redis-check-aof #数据修复
redis-check-dump #检查导出
redis-cli #redis命令行操作工具
redis-server #redis服务器的启动程序

2.启动前修改配置文件


echo "vm.overcommit_memory = 1" >>  /etc/sysctl.conf
sysctl -p
#配置介绍
vm.overcommit_memory 设置内核对内存的分配策略,其值可以设置为0,1,2,
0:表示内核将检查是否有足够的可用内存供应用进程使用,如果有足够的可用内存,则内存申请允许,否者内存申请失败,并把错误返回给错误进程
1:表示内核允许分配所有的物理内存,不管当前的内存状态如何
2:表示内核允许分配超过所有的物理内存和交换空间总和的内存

3.修改redis的配置文件 redis.conf

redis.conf配置文件模板可以在源码包里找到,将其复制到指定位置。

 

daemonize yes #redis默认是不作为守护进程来运行的,可以把该项设为yes作为守护进程运行。默认为no
pidfile /var/run/redis.pid #当以守护进程运行时,指定存放进程pid的文件
port 6379 #redis的端口号,若设置为0,就不会监听tcp套接字
timeout 0 #客户端空闲多少秒后关闭连接
tcp-keepalive 0 #是否开启tcp-keepalive功能,开启后会在指定时间内与客户端保持连接
loglevel notice #日志级别
logfile "" #日志的输出,默认输出到标准输出,可以指定文件
databases 16 #redis数据库的最大个数,客户端连接后,可以通过select命令来选定数据库
save 900 1 #redis的自动保存规则,表示900秒内有1个保存
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes #如果上次后台保存文件失败,是否接受新的写命令,默认为yes
rdbcompression yes # 是否启用rdb文件的字符串压缩模式,使用LZF算法压缩
rdbchecksum yes # 是否在rdb文件结尾添加校验和?需要增加大概10%的保存时间
dbfilename dump.rdb #rdb文件的文件名
dir ./ #rdb文件的目录,这个目录用于AOF文件的保存
slave-serve-stale-data yes# 配置该redis实例为另一个redis实例的slave,指定master的ip和端口
slave-read-only yes #slave是否使用不是最新的数据提供读服务?比如slave当前跟master的连接断开了
repl-disable-tcp-nodelay no# slave和master数据同步时,是否禁用tcp的nodelay特性
slave-priority 100# 该slave相对于其他slave的优先级
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes