任务描述
本次集中介绍使用Windows和Linux()搭建本地Redis服务器的步骤,从备份的RDB文件中加载数据,以及如何生成AOF文件和通过AOF文件想已经运行的Redis追加数据。
操作步骤
Windows版本
启动Redis-server | 1:下载Redis for Windows的压缩包或者安装文件,此处通过下载zip文件作为示例:https://github.com/microsoftarchive/redis/releases 2:解压压zip包到本地Redis目录,通过CMD命令,启动Redis-server.exe文件。 3:新开CMD窗口。进入Reids目录,通过redis-cli连接到Redis server。
|
加载dump.rdb文件 | 把准备好的RDB文件改名为dump.rdb复制到本地与Redis-server.exe同级目录下,重新启动redis-server.exe Redis-Server会默认从当前启动文件夹中加载dump的文件作为初始化数据。
C:\Program Files\Redis>redis-server [32728] 24 Jan 19:56:21.300 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.100 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 32728 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [32728] 24 Jan 19:56:21.303 # Server started, Redis version 3.2.100 [32728] 24 Jan 19:56:22.124 * DB loaded from disk: 0.821 seconds [32728] 24 Jan 19:56:22.124 * The server is now ready to accept connections on port 6379
|
追加AOF数据 | 1:准备好aof文件,如无,可以通过redis命令BGREWRITEAOF生成最新的appendonly.aof文件 2:使用redis-cli --pipe命令,追加aof中的数据到Redis中。注: 此处的pipe后符号必须为 < redis-cli --pipe < appendonly.aof
|
Linux版本
启动Redis-server | 使用任何方式登录进Linux虚拟机,如本地使用PuTTY,登录到Linux后,完完全全参考Redis的官网启动Reids服务:https://redis.io/download#installation 有三种方式安装Reids,从源代码,从Ubuntu PPA和从Snapcraft From source code
|
复制RDB文件进入Linux | 查看当前Linux中运行的Redis目录,使用redis-cli连接成功后,使用config get dir命令查看。 127.0.0.1:6379> config get dir 1) "dir" 2) "/var/lib/redis" 通常来讲,第二行数据的路径为当前Redis服务的启动路径,把RDB文件改名为dump.rdb后复制到该目录下 使用PSCP命令复制到/tmp目录,然后再Linux中使用root权限复制到/var/lib/redis目录
#在Windows中运行pscp命令。如遇见无法访问某个文件夹,则修改文件目录 #如pscp: unable to open /var/lib/redis/dump.rdb: permission denied,则导入文件到/tmp目录 pscp -pw Password "C:\Program Files\Redis\dump.rdb" username@192.168.135.195:/tmp #在Linux中运行COPY命令
|
加载dump.rdb文件 | 当dump.rdb文件存在于redis目录后。重启Reids服务即可 关闭Redis Server有几种方式: 1)通过Redis-cli发送shutdown命令 2)redis-server stop 或者 redis-server start 命令 3)service redis-server stop 或者 service redis-server start 命令 注:如果在Linux已apt-get install redis-server安装后启动的Redis,则需要使用第三种方式停止Redis服务。 |
追加AOF数据 | 在Windows中,使用PSCP命令把准备好的AOF文件发送到Linux tmp目录中
在tmp目录下使用 redis-cli --pipe < appendonly.aof 追加aof日志到运行的Redis中。然后通过info Keyspace查看当前的信息
|
操作中遇见的错误:
1:no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
在redis的目录文件中,已经包含了redis.windows.config文件,可以在启动redis-server时指定config文件。如:redis-server redis.windows.conf
2:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
表明6379已经被占用,可以通过redis-cli连接上去。然后执行shutdown命令关闭已经运行的Redis-server, 重启即可。
SHUTDOWN & RESTART
参考资料:
Windows Redis: https://github.com/microsoftarchive/redis/releases
Reids官网:https://redis.io/download#installation
Linux Copy File Command:https://www.cyberciti.biz/faq/copy-command/
Redis Backup:https://www.w3resource.com/redis/redis-backup.php
Copy File:https://comtechies.com/copy-files-between-windows-and-linux.html
Putty Copy File:https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter5.html