Redis 快速搭建与使用

文章目录

  • 1. Redis 特性
    • 1.1 多种数据类型支持
    • 1.2 功能完善
    • 1.3 高性能
    • 1.4 广泛的编程语言支持
    • 1.5 使用简单
    • 1.6 活跃性高/版本迭代快
    • 1.7 I/O 多路复用模型
  • 2. Redis发展历程
  • 3. Redis 安装
    • 3.1 源码安装
      • 3.1.1 下载源码包
      • 3.1.2 解压安装包
      • 3.1.3 切换到 Redis 目录
      • 3.1.4 编译安装
    • 3.2 Docker 安装
      • 3.2.1 拉取 Reids 镜像
      • 3.2.2 运行 Redis 容器
      • 3.2.3 执行命令
    • 3.3 在线安装
  • 4. Redis 使用
    • 4.1 启动 Redis
  • 5. Redis Desktop Manager

Redis 是由 C 语言开发的开源内存数据存储器,经常被用作数据库、缓存以及消息队列等。 Redis 因为其强大的功能和简洁的设计,深受广大开发者和公司的喜爱,几乎占领了内存数据库市场的所有份额。

1. Redis 特性

Redis 有很多优秀的特性,这也是它最受欢迎的原因。

1.1 多种数据类型支持

Redis 支持多种数据类型,例如字符串、散列、列表、集合、有序集合、HyperLogLog、流、地理坐标等,每种类型都有对应的使用场景,同时也满足了所有开发者的需要。

1.2 功能完善

Redis 提供了很多的功能,例如消息队列、自动过期删除、事务、数据持久化、分布式锁、附近的人、慢查询分析、Sentinel 和集群等多项功能。

1.3 高性能

Redis 是一款内存型数据库,因此在性能方面有天生的优势(内存操作比磁盘操作要快很多),并且 Redis 在底层使用了更加高效的算法和数据结构,以最大限度的提高了 Redis 的性能

1.4 广泛的编程语言支持

Redis 客户端有众多的开发者提供了相应的支持,这些客户端可以在 https://redis.io/clients 上找到,支持是编程语言,如下图所示:
在这里插入图片描述
可以看出几乎所有的编程语言,都有相应的客户端支持。

1.5 使用简单

Redis 的 API 虽然比较丰富,但操作的方法都非常的简便,并且需要传递的参数也不多,这样开发者就能更快的上手使用,而且 Redis 官方也提供了比较完整的说明文档。

1.6 活跃性高/版本迭代快

Redis 活跃度很高,这点可以在 Redis 的开源项目 https://github.com/antirez/redis 中发现,并且 Redis 的版本迭代也很快,到目前为止 Redis 的发布版本就已经有二百多个了。

1.7 I/O 多路复用模型

Redis 使用了多路 I/O 复用模型,“多路”指的是多个网络连接“复用”指的是复用同一个线程采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求,这样就减少了创建和销毁线程所带来的时间消耗,从而到达高效处理大量并发请求的目的。

2. Redis发展历程

Redis 的发展大概经过了以下几个过程:

  • 2009 年 5 月发布 Redis 初始版本;
  • 2012 年发布 Redis 2.6,重构了大量的核心代码,去掉了所有和集群相关的代码;
  • 2013 年 11 月发布 Redis 2.8,增加了部分主从复制功能;
  • 2015 年 4 月发布 Redis 3.0,增加了集群功能;
  • 2017 年 7 月发布 Redis 4.0 ,优化了复制功能和新增了混合持久化;
  • 2018 年 10 月发布 Redis 5.0,增加了 Stream 数据类型;
  • 2020 年 3-5 月计划发布 Redis 6.0 稳定版。

3. Redis 安装

Redis 官方提供了 Linux 和 MacOS 服务端安装包,对于 Windows 还有提供正式的支持,之所以不支持 Windows 平台是因为目前 Linux 版本已经很稳定,并且也有大量的用户,如果开发 Windows 版本可能会带来很多的兼容性问题,但 Windows 平台还是有很多种方法可以安装 Redis 的,本文的下半部分会说到,我们先来看 Redis 在 Linux 和 MacOS 平台的安装。

3.1 源码安装

3.1.1 下载源码包

进入网址:https://redis.io/download 选择需要安装的版本,点击 Download 按钮

3.1.2 解压安装包

使用命令:tar zxvf redis-5.0.7.tar.gz

3.1.3 切换到 Redis 目录

使用命令:cd /usr/local/redis-5.0.7/

3.1.4 编译安装

使用命令:sudo make install 安装完成,如下图所示:

在这里插入图片描述
如果没有异常信息输出,向上图所示,则表示 Redis 已经安装成功。

3.2 Docker 安装

Docker 的使用前提是必须先有 Docker,如果本机没有安装 Docker,对于 Linux 用户来说,可使用命令 yum -y install docker 在线安装 docker,如果是非 Linux 平台需要在官网下载并安装 Docker Desker,下载地址:https://docs.docker.com/get-started/

选择相应的平台,下载安装即可。 有了 Docker 之后,就可以在 Docker 上安装 Redis 服务端了,具体步骤如下:

3.2.1 拉取 Reids 镜像

使用命令:docker pull redis

如果要安装其他版本的 Redis,可使用 docker pull redis: 版本号 的方式来安装。

3.2.2 运行 Redis 容器

使用命令:docker run –name myredis -d -p 6379:6379 redis

其中:

  • –name:设置别名
  • -p:映射宿主端口到容器端口
  • -d:表示后台运行
    执行完成后截图如下:
    在这里插入图片描述如图所示,则证明 Redis 已经正常启动了。 如果要查询 Redis 的安装版本,可遵循下图的执行流程,先进入容器,在进入 Redis 的安装目录,执行 redis-server -v 命令,如图如下:
    在这里插入图片描述

3.2.3 执行命令

Docker 版的 Redis 命令执行和其他方式安装的 Redis 不太一样,所以这里需要单独讲一下,我们要使用 redis-cli 工具,需要执行以下命令:docker exec -it myredis redis-cli

其中“myredis”指的是容器中 Redis 服务端的别名。

3.3 在线安装

在线安装的执行步骤最简单,只需要执行 xxx install redis 命令即可直接安装,例如 MacOS 使用 brew install redis 、Ubuntu 使用 apt-get install redis 、CentOS 使用 yum install redis 等。

上面我们提到了,官方并没有提供 Windows 的支持版本,但 Windows 平台依旧有很多种方法,可以用来安装 Redis 服务端,例如 Docker 方式、虚拟机方式、Windows 10 子系统方式和第三方提供的 Redis 版本等。

其中 Docker 方式和本文上半部分介绍的安装方式相同,这里就不再赘述,当然你也可以使用虚拟机安装 Linux 的方式,或者是使用 Windows 10 下的自带的 Linux 子系统的方式进行安装。

如果你还想要更简单的方式,就可以使用第三方提供的 Redis 安装包进行安装,例如可以使用微软官方支持并维护的一个 Win64 的 Redis 开源项目,目前支持的最新版本为 3.2,项目地址:https://github.com/MicrosoftArchive/redis/releases 下载 .msi 和 .zip 文件安装即可。

4. Redis 使用

Redis 安装完之后,在 src 目录和 /usr/local/bin 目录下有几个很重要的可执行文件,这些可执行文件可以做很多事,如下表所示:

可执行文件功能
redis-server启动 Redis
redis-cliRedis 命令行工具
redis-benchmark基准测试工具
redis-check-aofAOF 持久化文件检测工具和修复工具
redis-check-dumpRDB 持久化文件检测工具和修复工具
redis-sentinel启动 redis-sentinel

4.1 启动 Redis

下面我们就用可执行文件 redis-server 来启动 Redis 服务器,我们在 Redis 的安装目录执行 src/redis-server 命令就可以启动 Redis 服务了,如下图所示:

在这里插入图片描述
可以看出 Redis 已经正常启动了,但这种启动方式,会使得 Redis 服务随着控制台的关闭而退出,因为 Redis 服务默认是非后台启动的,我们需要修改配置文件(redis.conf),找到 daemonize no 改为 daemonize yes ,然后重启服务,此时 Redis 就是以后台运行方式启动了,并且不会随着控制台的关闭而退出。

daemonize 配置如下:
在这里插入图片描述

5. Redis Desktop Manager

Redis Desktop Manager安装和使用
https://pan.baidu.com/s/14sIDsXNdjpRGvkoBwhZepg?pwd=fddy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/227643.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

八皇后问题(C语言)

了解题意 在一个8x8的棋盘上放置8个皇后,使得任何两个皇后都不能处于同一行、同一列或同一斜线上。问有多少种方法可以放置这8个皇后? 解决这个问题的目标是找到所有符合要求的皇后摆放方式,通常使用回溯算法来求解。回溯算法会尝试所有可能…

用 Node.js 写一个爬虫

自己设计一个网站,然后去爬取别人家页面的数据来做一个自己的网站。哈哈哈,如果自己写着玩可能没啥事,但如果用这个网站来获利,你可能就要被寄律师函了,毕竟这有点‘刑’。这篇文章呢,就带大家爬取豆瓣TOP2…

STM32 ESP8266 物联网智能温室大棚 源码PCB原理图 设计文档

资料下载: https://download.csdn.net/download/vvoennvv/88680924 一、概述 本系统以STM32F103C8T6单片机为主控芯片,采用相关传感器构建系统硬件电路。其中使用DHT11温湿度传感器对温度和湿度的采集,MQ-7一氧化碳传感器检测CO浓度,GP2Y101…

vscode括号颜色突然变成白色的了,怎么解决

更新版本后发现vscode的各种括号都变成了白色,由于分色括号已经使用习惯,突然变成白色非常不舒服,尝试多次后,为大家提供一下几种解决方式,希望能帮到同样受到此种困惑的你: 第一种: 首先打开…

听GPT 讲Rust源代码--src/tools(36)

File: rust/src/tools/clippy/clippy_lints/src/loops/empty_loop.rs 在Rust源代码中,empty_loop.rs文件位于src/tools/clippy/clippy_lints/src/loops/目录下,它的作用是实现并提供一个名为EMPTY_LOOP的Lint规则。Clippy是一个Rust的静态分析工具&#…

论文阅读<Contrastive Learning-based Robust Object Detection under Smoky Conditions>

论文链接:https://openaccess.thecvf.com/content/CVPR2022W/UG2/papers/Wu_Contrastive_Learning-Based_Robust_Object_Detection_Under_Smoky_Conditions_CVPRW_2022_paper.pdf Abstract 目标检测是指有效地找出图像中感兴趣的目标,然后准确地确定它们…

OCP NVME SSD规范解读-4.NVMe IO命令-1

针对NVMe-IO-1到NVMe-IO-14的解读如下: NVMe-IO-1: 设备应支持所有必需的NVMe I/O命令。这是设备能够进行基本数据读写操作的基础要求。NVMe I/O命令包括读、写、删除、擦除等操作,这些是存储设备的核心功能。 NVMe-IO-2: 设备应…

论文阅读——EfficientViT(cvpr2023)

EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 1、 从三个角度探讨如何提高vision transformers的效率:内存访问、计算冗余和参数使用。 2.1. Memory Efficiency 红色字体表示操作所花费的时间主要由内存访问决定,…

Kubernetes技术与架构-集群管理

Kubernetes技术与架构提供支撑工具支持集群的规划、安装、创建以及管理。 数字证书 用户可以使用easyrsa、openssl、cfssl工具生成数字证书,在kubernetes集群的api server中部署数字证书用于访问鉴权 资源管理 如上所示,定义一个服务类service用于负…

【教学类-43-02】20231226 九宫格数独2.0(n=9)(ChatGPT AI对话大师生成 回溯算法)

作品展示: 背景需求: 大4班20号说:我不会做这种(九宫格),我做的是小格子的, 他把手工纸翻过来,在反面自己画了矩阵格子。向我展示: “我会做这种!” 原来他…

大创项目推荐 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…

HTML---JavaScript基础

文章目录 目录 文章目录 本章目标 一.JavaScript基础 概述 特点 JavaScript 基本机构 语法 网页中引用JavaScript的方式 二. JavaScript核心语法 变量 ​编辑 数据类型 数组 练习 本章目标 掌握JavaScript的组成掌握JavaScript的基本语法会定义和使用函数会使用工具进行…

OpcUaHelper实现西门子OPC Server数据交互

Opc ua客户端类库,基于.net 4.6.1创建,基于官方opc ua基金会跨平台库创建,方便的实现和OPC Server进行数据交互。 FormBrowseServer 在开发客户端之前,需要使用本窗口来进行查看服务器的节点状态,因为在请求服务器的节点数据之前,必须知道节点的名称,而节点的名称可以…

2023年终总结丨很苦,很酷!

文章目录 个人简介丨了解博主写在前面丨博主介绍年终总结丨博主成就年终总结丨博主想说年终总结丨学习芝士年终总结丨未来展望写在后面丨新年快乐 个人简介丨了解博主 主页地址:https://blog.csdn.net/m0_68111267 荣誉身份 ⭐2022年度CSDN 社区之星 Top6 ⭐2023年…

ubuntu下编译obs-studio遇到的问题记录

参考的是这篇文档:Build Instructions For Linux obsproject/obs-studio Wiki GitHub 在安装OBS dependencies时, sudo apt install libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-d…

城市生态数据大屏,PSD设计稿

现分享生态系统可视化大数据大屏的 Photoshop 源文件,下载即用!以下为截图示意。 若需 更多行业 相关的大屏,请移步小7的另一篇文章:200套精选数据可视化大屏,大屏PSD设计(各行业大屏UI)https:…

三子棋(c语言)

前言: 三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小,三子棋在很多时候会出现和…

Android studio 使用greenDao根据实体类生成dao类

1.遇到的问题 使用android studio根据实体类生成dao其实也很简单,你只要实现 Parcelable Entity public class ConfigDataModel implements Parcelable {Id(autoincrement true)private Long id null; } 2.使用自带的方法生成 使用build-->make Project生成 …

Tomcat与Servlet是什么关系

Tomcat与Servlet是什么关系 Apache Tomcat和Servlet之间存在密切的关系,可以说它们是一对密切合作的组件。下面是它们的关系: Tomcat是Servlet容器: Tomcat是一个开源的、轻量级的Servlet容器。Servlet容器是一个Web服务器扩展,用…

软件工程经济学习题 答案(不保证对错,找不到答案)

一、资金等值计算(老师要求不能查表,故只能使用对应数学方法) 1.某IT企业今年向银行贷款20万元以购置一台设备。若银行贷款利率为10%,规定10年内等额偿还,试求每年的偿还金额。 2.某软件企业向银行贷款200万元&#xf…