【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据

任务描述

本次集中介绍使用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

Download, extract and compile Redis with:

$ wget https://download.redis.io/releases/redis-6.0.10.tar.gz
$ tar xzf redis-6.0.10.tar.gz
$ cd redis-6.0.10
$ make

The binaries that are now compiled are available in the src directory. Run Redis with:

$ src/redis-server

You can interact with Redis using the built-in client:

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
From the official Ubuntu PPA

You can install the latest stable version of Redis from the redislabs/redis package repository. Add the repository to the apt index, update it and install:

$ sudo add-apt-repository ppa:redislabs/redis
$ sudo apt-get update
$ sudo apt-get install redis
From Snapcraft

You can install the latest stable version of Redis from the Snapcraft marketplace:

$ sudo snap install redis

如当前使用的为Ubuntu的PPA命令安装和启动Redis服务:

复制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命令
~$ sudo su ~$ cd /tmp :/tmp# cp dump.rdb /var/lib/redis

加载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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
180 1
|
1月前
【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中
在Policy Rule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions", 效果使用 DeployIfNotExists (如果不存在,则通过修复任务进行修正。 在 existenceCondition 条件中,如果当前订阅已经启用了 diagnostic setting并且输出日志到同一个Log A workspace,表示满足Policy要求,不需要进行修正。 在 deployment 中,使用了 ARM 模板, 为订阅添加Diagnostic Setting并且所有的日志Category均启用。
|
1月前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
139 3
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
40 0
|
2月前
|
开发者 前端开发 编解码
Vaadin解锁移动适配新境界:一招制胜,让你的应用征服所有屏幕!
【8月更文挑战第31天】在移动互联网时代,跨平台应用开发备受青睐。作为一款基于Java的Web应用框架,Vaadin凭借其组件化设计和强大的服务器端渲染能力,助力开发者轻松构建多设备适应的Web应用。本文探讨Vaadin与移动设备的适配策略,包括响应式布局、CSS媒体查询、TouchKit插件及服务器端优化,帮助开发者打造美观且实用的移动端体验。通过这些工具和策略的应用,可有效应对屏幕尺寸、分辨率及操作系统的多样性挑战,满足广大移动用户的使用需求。
39 0
|
2月前
|
存储 运维 监控
Entity Framework Core 实现审计日志记录超棒!多种方法助你跟踪数据变化、监控操作,超实用!
【8月更文挑战第31天】在软件开发中,审计日志记录对于跟踪数据变化、监控用户操作及故障排查至关重要。Entity Framework Core (EF Core) 作为强大的对象关系映射框架,提供了多种实现审计日志记录的方法。例如,可以使用 EF Core 的拦截器在数据库操作前后执行自定义逻辑,记录操作类型、时间和执行用户等信息。此外,也可通过在实体类中添加审计属性(如 `CreatedBy`、`CreatedDate` 等),并在保存实体时更新这些属性来记录审计信息。这两种方法都能有效帮助我们追踪数据变更并满足合规性和安全性需求。
27 0
|
2月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
65 0
|
2月前
|
存储 大数据 索引
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
|
1月前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
|
2月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误