Redis的介绍、安装和配置

文章目录

    • 一、redis官网
    • 二、redis是什么
    • 三、能干嘛
      • 总体功能一图概述
      • 优势
      • 小总结
    • 三、Redis的下载与安装
      • Redis的安装
      • Redis迭代演化和Redis7新特性
      • 新特性部分说明
      • Redis的安装
    • 安装步骤总结
      • Redis的卸载

一、redis官网

https://redis.io/
中文官网:http://www.redis.cn/

二、redis是什么

Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案

三、能干嘛

1.分布式缓存,挡在mysql之前的带刀护卫
请添加图片描述

与传统数据库关系(mysql)
Redis是key-value数据库(NoSQL一种),mysql是关系数据库
Redis数据操作主要在内存,而mysql主要存储在磁盘
Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面
Redis通常用于一些特定场景,需要与Mysql一起配合使用
两者并不是相互替换和竞争关系,而是共用和配合使用

2.内存存储和持久化(RDB+AOF)

redis支持异步将内存中的数据写道硬盘上同时不影响继续服务

3.高可用架构搭配

单机、主从、哨兵、集群

4.缓存穿透、击穿、雪崩
5.分布式锁
6.队列

Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。
我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,
对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用。

7.排行版+点赞

在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜。
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户

总体功能一图概述

请添加图片描述

优势

  1. 性能极高-Redis能读写的速度是110000次/秒,写的速度是81000次/秒
  2. Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还支持list,set,zset,hash等数据结构的存储
  3. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  4. Redis支持数据的备份,即master-slave模式的数据备份

小总结

请添加图片描述

三、Redis的下载与安装

Redis的安装

下载地址:https://redis.io/download/
我使用的是redis-7.2.0
redis的在线测试地址:https://try.redis.io/
命令参考:http://doc.redisfans.com/

Redis迭代演化和Redis7新特性

请添加图片描述

新特性部分说明

请添加图片描述

Redis的安装

推荐使用linux安装Redis

我使用的docker(docker安装需要在配置docker容器的时候将所需要用到的端口映射出来,方便使用)安装的Redis,docker教程可以查看这篇文章:https://blog.csdn.net/xdznb_/article/details/132697915
linux安装redis必须要先具备gcc编译环境
什么是gcc:

gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU’s Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC和Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

可以使用命令 gcc -v 查看linux是否具有gcc编译环境
请添加图片描述

ubuntu可以直接运行该命令安装所需的gcc编译环境

sudo apt install build-essential

建议安装的redis版本为6.0.8之上
redis-server -v 可查看安装的redis版本
请添加图片描述
下载命令

wget https://download.redis.io/releases/redis-7.2.0.tar.gz

也可以从官网下载tar.gz文件上传到服务器虚拟机之中
1.将下载好的redis-7.2.0.tar.gz文件放入linux中的/opt目录
2.进入/opt目录解压redis-7.2.0.tar.gz文件

tar -zxvf redis-7.2.0.tar.gz

3.进入解压后的目录执行make命令

cd redis-7.2.0make && make install

等待命令执行完成,出现这句话则代表安装成功
请添加图片描述
默认的安装路径是

/usr/local/bin

安装完成之后可以查看:
请添加图片描述

redis-benchmark: 性能测试工具,服务启动后运行该命令,能查看自己电脑性能如何
redis-check-aof: 修复有问题的AOF文件,rdb和aof
redis-check-dump: 修复有问题的dump.rdb文件
redis-cli: 客户端,操作入口
redis-sentinel: redis集群使用
redis-server: redis服务器启动命令

可以将默认的redis.conf文件复制到一个路径下,比如/myredis,这样即便配置文件修改错了,也能找回原文件

cd redis-7.2.0 #进入redis目录mkdir /myredis #在根目录创建文件cd redis.conf /myredis/redis7.conf #将配置文件复制到创建的路径下

修改配置文件:

进入/myredis路径下,修改配置文件

  1. daemonize

redis.conf配置文件中daemonize守护线程,默认是NO。
daemonize是用来指定redis是否要用守护线程的方式启动.
yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
通常都要讲daemonize no改为yes
请添加图片描述

  1. protected-mode

redis保护模式,为no的话别的机器可以直接连接本机的redis服务
如果为yes的话,别的机器只能通过设置bind添加服务器ip才能进行访问,或者通过密码方式进行访问,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
暂时设置为no,方便实用,上线的时候一定设置为yes。
请添加图片描述

  1. bind 127.0.0.1

直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
请添加图片描述

  1. 添加redis密码

改为 requirepass 你自己设置的密码
请添加图片描述

配置完成之后就可以启动redis服务了

redis-server /myredis/redis7.conf #使用修改好的配置文件启动redisredis-cli -a 密码 #启动redis客户端

就可以执行操作了:
请添加图片描述

安装步骤总结

gcc -v #查看gcc版本
sudo apt install build-essential #若没有则需要安装gcc环境cd /opt #进入redis压缩文件目录
tar -zxvf redis-7.2.0.tar.gz #将redis解压到当前目录cd redis-7.2.0/ #进入redis目录
make && make install # 执行make && make install 等待安装完成mkdir /myredis #创建目录存储配置文件
cp redis.conf /myredis/redis7.conf #将配置文件复制到创建的目录下vim /myredis/redis7.conf # 修改配置文件redis-server /myredis/redis7.conf # 使用指定配置文件启动redis
redis-cli -a 密码 # 启动redis客户端

Redis的卸载

先停止redis的服务
再将/usr/local/lib目录下的redis相关的文件删除即可

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

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

相关文章

【【萌新编写risc-v之软件的学习使用】】

萌新编写risc-v软件的学习使用 对于vscode我其实没什么好说的 就是先配置好环境 其实vscde作为一个编译器的软件 其实并不需要指望能往里面加载多少功能 我们需要做的就是赋予编辑器更好用的功能和体验 有些人会在vscode里面甚至加入波形 仿真 我觉得不如交给 vivado来用 在vs…

【计算机网络】传输层协议——TCP(下)

文章目录 1. 三次握手三次握手的本质是建立链接,什么是链接?整体过程三次握手过程中报文丢失问题为什么2次握手不可以?为什么要三次握手? 2. 四次挥手整体过程为什么要等待2MSL 3. 流量控制4. 滑动窗口共识滑动窗口的一般情况理解…

【面试经典150 | 双指针】两数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一:暴力枚举方法二:哈希表方法三:二分法方法四:双指针 知识回顾写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢…

【推荐】赴日IT课程 做赴日IT我该学什么?

许多想要做赴日IT的朋友问我说,我都该准备什么,或者我该学些什么才能达到可以做赴日程序员的水平呢?今天我就来跟大家聊一下这个问题。要说做准备,你需要有全日制大专及以上的学历才能获得赴日的资格,如果没有我们就先…

Scrum敏捷开发端到端管理流程

Leangoo领歌是Scrum中文网(scrum.cn)旗下的一款永久免费的敏捷研发管理工具。 Leangoo领歌覆盖了敏捷研发全流程,它提供端到端敏捷研发管理解决方案,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums…

Vue3 Ajax(axios)异步

文章目录 Vue3 Ajax(axios)异步1. 基础1.1 安装Ajax1.2 使用方法1.3 浏览器支持情况 2. GET方法2.1 参数传递2.2 实例 3. POST方法4. 执行多个并发请求5. axios API5.1 传递配置创建请求5.2 请求方法的别名5.3 并发5.4 创建实例5.5 实例方法5.6 请求配置项5.7 响应结构5.8 配置…

PAL/NTSC/1080I和interlaced scan(隔行扫描)

目录 1.PAL/NTSC和1080I 2.PAL/NTSC/1080I的timing 2.1 NTSC的垂直同步 2.2 PAL的垂直同步​编辑 2.3 1080i50FPS的vic20的时序 3.interlaced video timing实现说明 1.PAL/NTSC和1080I NTSC 和PAL 是两种不同视讯标准, 两种都是CRT时代遗留下的产物, 也都使用Interlace技术…

3D WEB轻量化引擎HOOPS Commuicator技术概览(一):数据导入与加载

HOOPS Communicator是一款功能强大的SDK,适用于基于Web的高级工程应用程序,代表HOOPS Web平台的Web开发组件。使用HOOPS Communicator,您可以构建一个在 Web浏览器中提供3D模型的Web应用程序。 HOOPS Communicator可以本地加载多种模型格式。…

Postman应用——初步了解postman

Postman 是一个用于构建和使用 API 的 API 平台,Postman 简化了 API 生命周期的每个步骤并简化了协作,可以更快地创建更好的 API。 Postman 包含一个基于Node.js的强大的运行时,允许您向请求(request)和分组&#xff…

今晚8点,iPhone15开启预售

北京时间9月15日晚8点,备受全球果粉期待的苹果iPhone15系列手机正式开启预售。此次预售在苹果官网Apple Store在线商店、天猫Apple Store官方旗舰店以及Apple Store官方在线商店微信小程序同步进行。 今年苹果公司将Apple Store在线商店、天猫Apple Store官方旗舰店…

【JAVA】项目部署

IDEA部署maven:https://www.cnblogs.com/ckfuture/p/15821541.html MySQL数据库安装:https://blog.csdn.net/SoloVersion/article/details/123760428 SQLyog安装: https://blog.csdn.net/qq_43543789/article/details/107997510 git安装&a…

JDBC基本概念

什么是JDBC JDBC概念 JDBC(Java DataBase Connectivity)是一套统一的基于Java语言的关系数据库编程接口规范。 该规范允许将SQL语句作为参数通过JDBC接口发送给远端数据库, …

电子技术基础(三)__第1章电路分析基础_第13篇__正弦交流电的相量表示

本文讲解 正弦交流电的稳态分析————正弦量的相量表示 一 基本概念 接下来, 注意: 大写字母 上 加点 表示相量 例如: 因为这里有 I m I_{m} Im​ 是幅值, 所以此相量称为幅值相量。 相量 其实就是一个复数, 表示正弦量的复…

弗恩基 Flex-N-Gate EDI 需求分析

弗恩基Flex-N-Gate是一家总部位于美国伊利诺伊州的汽车零部件制造公司。该公司成立于1956年,由亿万富翁企业家 Shahid Khan 创办。Flex-N-Gate 主要专注于设计、制造和供应汽车外部和内部零部件,包括前后保险杠系统、灯具、车门零件、悬挂系统等。 该公…

IOMesh 为 KubeVirt 提供高效稳定的持久化存储支持(附用户实践)

7 月 11 日,KubeVirt 社区正式宣布发布 Kubernetes 原生虚拟机管理插件 KubeVirt v1.0。这一版本发布不仅标志着 KubeVirt 已进化为生产就绪的虚拟机管理解决方案,也为正在使用虚拟化环境的用户提供了更多元的云化转型路线:搭配 Kubernetes 持…

【结构型】享元模式(Flyweight)

目录 享元模式(Flyweight)适用场景享元模式实例代码(Java) 享元模式(Flyweight) 运用共享技术有效地支持大量细粒度的对象。(业务模型的对象进行细分得到科学合理的更多对象) 适用场景 一个应用程序使用了大量的对象。完全由于…

概率统计笔记:从韦恩图的角度区分 条件概率和联合概率

联合概率:两个或多个事件同时发生的概率。用 P(A∩B) 或 P(A,B) 表示 条件概率:在已知某个事件发生的条件下,另一个事件发生的概率。用P(A∣B) 表示在事件 B 发生的条件下,事件 A 发生的概率。 不难发现联合概率的样本空间更大&am…

小白学Unity03-太空漫游游戏脚本,控制飞船移动旋转

首先搭建好太阳系以及飞机的场景 需要用到3个脚本 1.控制飞机移动旋转 2.控制摄像机LookAt朝向飞机和差值平滑跟踪飞机 3.控制各个星球自转以及围绕太阳旋转(rotate()和RotateAround()) 1.控制飞机移动旋转的脚本 using System.Collections; using…

【GAMES202】Real-Time Ray Tracing 1—实时光线追踪1

一、前言 这篇我们开始新的话题—Real-Time Ray Tracing简称RTRT,也就是实时光线追踪,关于光线追踪,我们已经不止一次提到过它的优点,无论是软阴影还是全局光照,光线追踪都很容易做,唯一的缺点就是速度太慢…

状态管理艺术——借助Spring StateMachine驭服复杂应用逻辑

文章目录 1. 什么是状态2. 有限状态机概述3. Spring StateMachine4. Spring StateMachine 入门小案例4.1 接口测试 5. 总结 1. 什么是状态 在开发中,无时无刻离不开状态的一个概念,任何一条数据都有属于它的状态。 比如一个电商平台,一个订…