Redis单结点安装

服务安装

  1. 首先下载最新版本Redis安装包,我这里使用的是redis5.0.2,官网下载地址:https://redis.io/download;
  2. 将下载好的安装包redis-5.0.2.tar放入到Linux目录/usr/local下;
  3. 解压安装包:tar -xvf redis-5.0.2.tar
  4. cd到解压好的redis-5.0.2目录下,执行make命令;
  5. 注意:执行命令的时候可能报错(如果未报错可忽略该步骤):gcc:command not found,这个错误说明当前Linux环境中gcc没有安装,执行yum -y install gcc命令进行安装;
  6. 可能还会报错(如果未报错可忽略该步骤):error: jemalloc/jemalloc.h: No such file or directory,这个原因是jemalloc重载了Linux下的ANSIC的malloc和free函数。解决办法:make时添加参数,make MALLOC=libc
  7. 接着进入src目录下,执行make install,安装成功后执行make test测试一下,此时可能还会报错(如果未报错可忽略以下步骤):You need tcl 8.5 or newer in order to run the Redis test,这个是执行make test需要8.5版本的tcl,执行wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz。如果wget命令不存在,需要先安装wget命令:yum -y install wget
  8. 接着第7步(如果第7步没问题该步骤可忽略),如果tcl下载完成,解压并进入到/tcl/unix目录下,执行sudo ./configure命令,完成后再执行sudo make命令,最后执行sudo make install。tcl安装成功之后回到redis目录再次执行make test,最终提示All tests passed without errors!表示make test成功;
  9. 执行make install,正常会显示5个INSTALL,表示redis安装成功;

服务启动配置

  1. 安装完毕之后,首先在/redis-5.0.2目录下启动测试一下,输入./redis-server redis.conf,测试OK接着后续配置;
  2. 创建两个目录,分别为/var/redis/6379/etc/redis,前者用来存在持久化数据文件,后者用来存放配置文件,稍后会在配置文件中配置;
  3. 复制redis根目录下的配置文件redis.conf到/etc/redis目录下,cp redis.conf /etc/redis/6379.conf
  4. 设置开机启动,拷贝/redis-5.0.2/utils目录下的redis_init_script文件到/etc/init.d目录下,并重命名为redisd,输入chkconfig redisd on打开开机启动配置;
  5. 设置daemonize启动模式,修改/etc/redis/6379.conf配置文件,找到daemonize所在行并将状态改为yes,如:daemonize yes,然后找到dir所在行,配置一下redis工作目录(存在持久化文件),如:dir /var/redis/6379
  6. 输入service redisd start启动redis,启动成功后使用redis-cli连接测试;
  7. 检查内存使用率,可使用redis-cli -r 10 -i 1 info|grep used_memory_human命令,表示:每隔1秒输出内存的使用量,总共输出10次;

RDB&AOF持久化

  1. RDB是Redis默认的持久化方案(Redis默认开启),每隔一段时间内超过设定的修改操作次数,就会自动生成一份内存数据的完整快照。优点:对系统性能消耗小,只需要一个子进程保存数据,适合大规模数据恢复。缺点:数据完整性和一致性不高,备份时比较占用内存(双倍内存数据大小),如果内存占用特别大可能导致服务短时间不可用。可在6379.conf配置文件中查看以下配置:
#   save ""
save 900 1
save 300 10
save 60 10000
  1. AOF默认不开启,它的出现时为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每隔写操作,并追加到文件中。如果开启AOF,那么在数据恢复的时候会选择从AOF中进行恢复,查看以下配置:
appendonly yes

# If unsure, use "everysec".
# appendfsync always
appendfsync everysec
# appendfsync no

第一步将appendonly属性改为yes,并且设置每隔一秒钟追加一次(默认设置)。AOF的优点:数据完整性和一致性更高,在rewrite的时候对性能影响比较小,由子进程执行操作。缺点:AOF的持久化文件比RDB文件大,而且会随着数据量越来越大,使数据恢复也会越来越慢,AOF的写QPS要比RDB低;

  1. 根据Redis使用的业务场景来确定数据持久化方案,如果对数据的完整性和一致性要求不是很高可以只开启RDB,这样性能最好。如果对数据完整性和一致性有一定的要求,一般同时开启RDB(不能关闭,主从复制时需要用到)和AOF,这样在数据恢复的时候,系统会默认选择AOF进行数据恢复;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值