Redis安装与配置(混合持久化)

一:安装

官网选择对应版本并下载软件包(这里选择 5.0.5版本)
su dev #应用安装尽量不要使用root账号

wget http://download.redis.io/releases/redis-5.0.5.tar.gz
cd redis-5.0.5
make #编译,若缺少软件,按提示yum安装即可, 编译好后对应文件会放入当前src目录
cd src
make install PREFIX=/usr/local/redis #执行打包安装,并指定应用目录


#创建相关的数据,配置,日志目录
mkdir -p /logs/redis
mkdir -p /data/redis/6379 #使用6379做目录,避免同一机器安装多份redis,数据文件冲突
mkdir -p /usr/local/etc/redis

#复制配置文件
cp ../redis.conf /usr/local/etc/redis

二:基础配置

cd /usr/local/etc/redis
mv redis.conf redis-6379.conf  #重命名, 以示区分

#以下配置需要进行更改
#注意配置文件中#表示注释,注释的配置不生效,要打开需去掉#

#基础配置

#ip绑定,这里可以绑定内网ip,只限内网环境访问,示情况而定,也可忽略不配置
bind 172.18.21.56

#redis服务端口,用哪个端口写那个端口即可
port 6379

#设置后台启动,默认值为no,需改为yes
daemonize yes

#进程pid文件,加port以示区分
pidfile /var/run/redis_6379.pid

#日志文件
logfile "/logs/redis/redis-6379.log"

#数据文件目录, rdb与aof的持久化存储文件会放在这下面
dir /data/redis/6379

#redis连接密码配置
requirepass 123456
#内存及淘汰策略配置:

#最大内存,注释或设置0表示为物理机器最大可用内存,具体配置示情况而定
maxmemory 2g

# volatile-lru -> Evict using approximated LRU among the keys with an expire set.
# allkeys-lru -> Evict any key using approximated LRU.
# volatile-lfu -> Evict using approximated LFU among the keys with an expire set.
# allkeys-lfu -> Evict any key using approximated LFU.
# volatile-random -> Remove a random key among the ones with an expire set.
# allkeys-random -> Remove a random key, any key.
# volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
# noeviction -> Don't evict anything, just return an error on write operations.

#内存淘汰策略,Redis使用内存超过最大内存时的处理机制(是否清除部分内存),默认是noeviction,不会清除内存,超过时会报错
maxmemory-policy volatile-lru

三:持久化配置(这里使用第三种混合持久化)

#第一种:RDB(基于内存快照的持久化存储)的配置

#关闭RDB功能的话,配置这个即可以,其他save要注释掉
save ""

#如果要开启RDB配置,则打开以下注释,使用默认的即可,可以不做修改
#save的格式:save seconds operation_nums
#即在seconds指定的时间内(单位秒),若redis write操作达到nums次数,则执行一次RDB持久化
#save 900 1
#save 300 10
#save 60 10000

#rdb持久化时保存的文件名,默认即可,不用做修改,要开启RDB持久化才会生成此文件,RDB文件内容开头一定以REDIS
dbfilename dump.rdb
#第二种:AOF(基于命令追加到文件的持久化存储)

#开启aof设置为yes,默认是不开启的
appendonly yes

#aof存储文件,不用改动
appendfilename "appendonly.aof"

#aof追加策略, 选择其中一种即可,其余注释掉, 推荐everysec, 也是默认值
#appendfsync always
appendfsync everysec
#appendfsync no

#always:每次write操作都执行fsync同步刷新到磁盘,数据最安全几乎不会丢失,但频繁刷新磁盘,对性能消耗极大,
#如果要求不是特别高,不般不建议使用

#everysec:最多每秒执行磁盘同步,数据安全与性能折中方案,如果丢失数据也只会丢失1秒内的数据,性能也较好,推荐首选

#no:操作write后不会立即发生fsync调用,由操作系统自动调度刷磁盘,对磁盘压力最小,性能是最好的,但丢失数据风险最大
#第三种:混合持久化(4.0开始推荐使用此方式)
#文件内容格式: [RDB file][AOF tail]
#即定期执行快照存储并更新aof文件,所以aof文件内容前面是RDB二进制数据
#执行快照存储后直到下次快照存储期间,所有的操作以aof的方式追加到aof文件中,所以aof文件内容末尾是aof相关的数据

#混合持久化的配置
#1,关闭RDB,参考上面的配置
#2,开启AOF,参考上面的配置
#3,混合持久化核心配置(redis4.0开始才有):
aof-use-rdb-preamble yes

你可能感兴趣的:(Redis,混合持久化,内存淘汰策略,数据库)