redis安装、备份与迁移

一、redis的安装

1、 下载并安装redis(推荐使用3.0以上版本,能更好的支持sentinel)

# mkdir -p  /alidata/redis-server/redis6379     #创建redis安装目录
# wget http://download.redis.io/releases/redis-2.8.9.tar.gz(我用的是这个)
# wget http://219.239.26.13/files/205900000B7E5F47/download.redis.io/releases/redis-4.0.9.tar.gz
# wget http://download.redis.io/releases/redis-3.2.11.tar.gz(推荐)
# tar zxvf redis-2.8.9.tar.gz 
# cd redis-2.8.9
# make
# cd ./src                                                  #进入源码包的src目录
# make install  PREFIX=/alidata/redis-server/redis6379      #手动指定redis安装目录(这里必须是大写)
# cp ../redis.conf    /alidata/redis-server/redis6379/redis6379.conf         #将src上级目录的配置文件拷贝到redis安装目录(redis可以启动多个)

2、修改配置文件
多实例:直接复制一份redis安装目录然后改端口 【比如:cp -a redis6379 redis6380; sed -i ‘s/6379/6380/g’ redis6380.conf】。
RDB持久化:快照持久化(redis database),指定时间内将内存中的数据以快照的形式写入到磁盘,格式是:save N M 表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。

# vi /alidata/redis-server/redis6379/redis6379.conf
port 6379                           #指定redis端口

dbfilename dump6379.rdb             #开启RDB备份方式并指定rdb备份文件名,默认使用RDB(redis提供了两种持久化备份选项,分别是RDB和AOF,RDB持久化会每隔一段时间将数据写入磁盘)
#设置RDB持久化刷新数据到磁盘的规则
save 900 1                          #900秒之内有1个keys发生变化时,将内存中的数据同步到磁盘(dump6379.rdb)中
save 300 10                         #300秒之内有10个keys发生变化时,将内存中的数据同步到磁盘(dump6379.rdb)中
save 60 10000                       #60秒之内有10000个keys发生变化时,将内存中的数据同步到磁盘(dump6379.rdb)中


#appendonly yes                     #开启AOF备份方式(AOF持久化几乎是实时的将数据写入磁盘)
#appendfilename "appendonly.aof"    #AOF备份文件名
#appendfsync everysec               #AOF数据持久化的方式有两种(always:只要有写入动作就将数据刷新到磁盘, everysec:每秒都刷新一次数据到磁盘)

dir ./                 #指定本地数据库(即dump6379.rdb和appendonly.aof)的存放路径
logfile "/var/log/redis6379.log"    #指定redis日志文件
timeout 0                           #设置客户端闲置多少秒关闭连接,0表示不关闭
#bind 127.0.0.1                     #禁用此项或改成0.0.0.0,表示监听所有地址,也就是允许所有网段连接redis(默认只允许本机可以连接redis)
daemonize yes                       #开启redis守护进程(后台执行)
pidfile /var/run/redis6379.pid      #指定pid文件,redis启动守护进程的时候会临时创建pid文件
requirepass redis123                #为redis配置密码(注意:配置密码后任然可以登录redis,但是执行命令会提示无权限,必须输入密码登陆才能执行命令)
loglevel notice                     #redis日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning
maxmemory 64000000                  #设置redis最大内存限制防止内存溢出,单位字节,我这里是64M(这个值应该设置为物理内存的50%)
maxmemory-policy allkeys-lfu        #设置超过内存限制后的处理策略(这里我使用的策略为从内存中迁出(其实就是删除)不常用的key)
slaveof  masterip  masterport       #如果是主从状态,这里指定主redis的ip和端口
slave-read-only yes                 #默认从redis是只读的(只针对从库生效)

3、添加环境变量

# cp  /alidata/redis-server/redis6379/bin/redis-*    /usr/sbin/

4、启动和关闭redis

(1)启动
# /alidata/redis-server/redis6379/bin/redis-server     /alidata/redis-server/redis6379/redis6379.conf
# netstat -npult|grep redis
tcp     0      0 127.0.0.1:6379       0.0.0.0:*     LISTEN      26679/redis-server
(2)关闭(或直接killall  redis-server 需要等一会才能杀死)
# /alidata/redis-server/redis6379/bin/redis-cli   -p 6379   shutdown

二、redis的备份与迁移
注意:redis每次创建key时如果是相同的key会进行覆盖操作
1、备份:登录redis服务器,手动将当前缓存数据写入磁盘(dump6379.rdb)中

(1)保存当前的缓存数据到磁盘
[root@localhost ~]# /alidata/redis-server/redis6379/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> save      
OK

(2)查看dump6379.rdb文件保存到了哪里
127.0.0.1:6379> config get dir
1) "dir"
2) "/alidata/redis-server/redis6379"

(3)检查当前redis的备份数据是否正常
# ls -lh /alidata/redis-server/redis6379/dump6379.rdb 
-rw-r--r-- 1 root root 38M Apr 26 13:50 /alidata/redis-server/redis6379/dump6379.rdb

2、迁移

(1)做完redis备份后,请停止旧的redis服务防止产生新的数据。
(2)在另一台服务器搭建新的redis服务
(3)将旧的redis服务器中的 dump6379.rdb  redis6379.conf 拷贝到新的redis服务器中,并重启服务即可。

3、通过windows客户端远程连接redis服务器 - RedisDesktopManager (无需密码):
https://redisdesktop.com/download
redis安装、备份与迁移_第1张图片

你可能感兴趣的:(redis,redis,bootstrap,前端)