Redis7--基础篇1(概述,安装、卸载及配置)


1. Redis概述

1.1 什么是Redis

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

1.2 Redis之父

Redis之父Salvatore Sanfilippo,一名意大利程序员,大家更习惯称呼他Antirez
Github:https://github.com/antirez
个人博客:http://antirez.com/latest/0

1.3 Redis能做什么(主流功能与应用)

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

  • 内存存储与持久化(RDB+AOF)
    Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。

  • 高可用架构搭建
    单机、主从、哨兵、集群

  • 缓存穿透、击穿、雪崩

  • 分布式锁

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

  • 实现排行榜、点赞等功能

  • 优势
    性能极高 - Redis读的速度是110000次/秒,写的速度是81000次/秒。
    数据类型丰富,不仅仅支持k-v类型的数据,同时还提供了list、set、zset、hash等数据结构的存储。
    支持持久化,可将内存中的数据存入写入到磁盘中。
    支持数据备份,即master-slaver模式的数据备份

  • 一图流概括介绍:
    在这里插入图片描述

  • 总结
    在这里插入图片描述

1.4 下载、安装及参考资料

下载地址:
https://redis.io
在这里插入图片描述

http://www.redis.cn/
在这里插入图片描述

https://redis.io/download/
在这里插入图片描述
redis-7.0.0.tar.gz

历史版本:
在这里插入图片描述

文档下载:
https://www.redis.com.cn/documentation.html
在这里插入图片描述

Redis源码地址:
https://github.com/redis/redis
在这里插入图片描述

Redis在线测试:
https://try.redis.io/

Redis在线参考:
http://doc.redisfans.com/

1.5 Redis迭代演化和Redis7新特性浅谈

  • 重要版本
    在这里插入图片描述
    5.0版本是直接升级到6.0版本,对于这个激进的升级,Redis之父antirez表现得很有信心和兴奋,所以第一时间发文来阐述6.0的一些重大功能"Redis 6.0.0 GA is out!"。
    随后Redis再接再厉,直接王炸Redis7.0—2023年爆款
    2022年4月27日Redis正式发布了7.0更新(其实早在2022年1月31日,Redis已经预发布了7.0rc-1,经过社区的考验后,确认没重大Bug才会正式发布)

  • 学习视频
    哔哩哔哩查找尚硅谷之Redis教学视频

  • 新特性
    在这里插入图片描述
    Redis Functions
    在这里插入图片描述
    Client-eviction
    在这里插入图片描述
    Muti-part AOF
    在这里插入图片描述
    ACL V2
    在这里插入图片描述
    新增命令
    在这里插入图片描述
    listpack代替ziplist
    listpack 是用来替代 ziplist 的新数据结构,在 7.0 版本已经没有 ziplist 的配置了(6.0版本仅部分数据类型作为过渡阶段在使用)
    在这里插入图片描述
    底层性能提升(与编码关系不大)

总体概述:
大体和之前的redis版本保持一致和稳定,主要是自身底层性能和资源利用率上的优化和提高,如果你生产上系统稳定,不用着急升级到最新的redis7版本,当然,O(∩_∩)O哈哈~,如果你是从零开始的新系统,直接上Redis7.0-GA版。

多AOF文件支持7.0 版本中一个比较大的变化就是 aof 文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest) 用于跟踪文件以及文件的创建和应用顺序(恢复)
config命令增强对于Config Set 和Get命令,支持在一次调用过程中传递多个配置参数。例如,现在我们可以在执行一次Config Set命令中更改多个参数: config set maxmemory 10000001 maxmemory-clients 50% port 6399
限制客户端内存使用
Client-eviction
一旦 Redis 连接较多,再加上每个连接的内存占用都比较大的时候, Redis总连接内存占用可能会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用量配置项,redis.config 中对应的配置项
// 两种配置形式:指定内存大小、基于 maxmemory 的百分比。
maxmemory-clients 1g
maxmemory-clients 10%
listpack紧凑列表调整listpack 是用来替代 ziplist 的新数据结构,在 7.0 版本已经没有 ziplist 的配置了(6.0版本仅部分数据类型作为过渡阶段在使用)listpack 已经替换了 ziplist 类似 hash-max-ziplist-entries 的配置
访问安全性增强ACLV2在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到Redis server的时候可以将protected-mode设置为no
Redis FunctionsRedis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。
简言之,redis自己要去抢夺Lua脚本的饭碗
RDB保存时间调整将持久化文件RDB的保存规则发生了改变,尤其是时间记录频度变化
命令新增和变动Zset (有序集合)增加 ZMPOP、BZMPOP、ZINTERCARD 等命令
Set (集合)增加 SINTERCARD 命令
LIST (列表)增加 LMPOP、BLMPOP ,从提供的键名列表中的第一个非空列表键中弹出一个或多个元素。
性能资源利用率、安全、等改进自身底层部分优化改动,Redis核心在许多方面进行了重构和改进主动碎片整理V2:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低
HyperLogLog改进:在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率,7更加优秀更好的内存统计报告
如果不为了API向后兼容,我们将不再使用slave一词…(政治正确)

2. 安装、卸载、配置

可以安装到购买的各种云服务器,或者安装到虚拟机。默认Redis安装到Linux系统下,因为不会有企业将Redis安装到Windows系统下。

2.1 检查安装环境

Linux系统安装Redis必须具备GCC编译环境

查看是否有gcc编译器

gcc -v

安装gcc编译器

yum -y install gcc-c++

在这里插入图片描述

2.2 安装步骤

  • 下载安装包并放入/opt目录下
wget https://download.redis.io/releases/redis-7.0.0.tar.gz

在这里插入图片描述

  • 解压缩
tar -zxvf redis-7.0.0.tar.gz

在这里插入图片描述

  • 执行make命令进行编译
make && make install

在这里插入图片描述
在这里插入图片描述

2.3 卸载步骤

  • 停止redis-server服务
    在这里插入图片描述
  • 删除 /usr/local/lib 目录下与redis相关的文件
ls -l /usr/local/bin/redis-*
rm -rf /usr/local/bin/redis-*

在这里插入图片描述

2.4 启动服务

  • 默认的安装目录为/usr/local/bin/,类似于C:\Program Files
    • redis-benchmark
      性能测试工具,服务启动后运行该命令,查看本机性能
    • redis-check-aof
      修复有问题的AOF文件
    • redis-check-rdb
      修复有问题的RDB文件
    • redis-cli
      客户端服务
    • redis-sentinel
      Redis集群服务
    • redis-server
      Redis服务器启动服务
  • 定制启动配置文件
    • 备份启动配置文件
      在这里插入图片描述
    • 修改配置文件
      • redis.conf配置文件,改完后确保生效,记得重启,记得重启
      • 默认daemonize no 改为 daemonize yes
      • 默认protected-mode yes 改为 protected-mode no
      • 默认bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
      • 添加redis密码 改为 requirepass 你自己设置的密码
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
  • 执行启动命令
    redis-server /myredis/redis7.conf
    
  • 连接Redis数据库并验证
    #登陆
    redis-cli -a 123456  -p 6379
    #验证
    127.0.0.1:6379> ping
    
    在这里插入图片描述

2.5 关闭服务

  • 单实例关闭
    redis-cli -a 123456 shutdown
    
  • 多实例关闭
    redis-cli -a 123456 -p 6379 shutdown
    

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

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

相关文章

MQTT 连接优化指南

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

JVM问题排查

本文详细说明了Java应用运行过程中几种常见的JVM相关问题,并给出了问题排查步骤。 一、堆中OOM 现象:Java线程负载过高,JVM内存几乎占满,甚至抛出java.lang.OutOfMemoryError错误。 思路:通过jmap能查看到对内存中实…

【Apollo 自动驾驶】Win11 中 WSL2 安装配置 Apollo 环境

【Apollo 自动驾驶】Win11 中 WSL2 安装配置 Apollo 环境 【1】Win11 WSL2 安装配置 Nvidia Cuda 【1.1】检查计算机硬件的显卡信息 计算机图标右击 -> 管理 -> 设备管理器 -> 显示适配器; 【1.2】检查对应显卡并安装 Nvidia 显卡驱动 下载对应的 Nv…

第15章_瑞萨MCU零基础入门系列教程之Common I2C总线模块

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

vue3+vite项目运行报错[plugin vite:dep-pre-bundle]

报错截图 原因:vue-i18n 插件于9.5更新,打包和引入方式有改变,所以新启动和新部署的项目都会有这个问题。 解决方式: 1.项目全局搜索:vue-i18n/dist/v ue-i18n.cjs.js 然后将搜索到的代码替换为 :vue-i18…

为特征向量数据(1D数组)叠加噪声实现数据增强

为特征向量数据(1D数组)叠加噪声实现数据增强 日期作者版本备注2023.09.11Dog TaoV1.0完成文档的初始版本。 文章目录 为特征向量数据(1D数组)叠加噪声实现数据增强背景介绍叠加噪声的主要方法高斯噪声(Gaussian Nois…

微服务05-Docker基本操作

Docker的定义 1.什么是Docker Docker是一个快速交付应用、运行应用的技术: 可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统运行时利用沙箱机制形成隔离容器,各个应用互不干扰启动、移除都可以通过一行命令完…

超详细-Vivado配置Sublime+Sublime实现VHDL语法实时检查

目录 一、前言 二、准备工作 三、Vivado配置Sublime 3.1 Vivado配置Sublime 3.2 环境变量添加 3.3 环境变量验证 3.4 Vivado设置 3.5 配置验证 3.6 解决Vivado配置失败问题 四、Sublime配置 4.1 Sublime安装Package Control 4.2 Sublime安装VHDL插件 4.3 语法检查…

STM32F4X DMA

STM32F4X DMA 什么是DMASTM32F4X DMADMA框图DMA通道DMA仲裁器DMA FIFO DMA传输模式DMA传输方向存储器到存储器存储器到外设外设到存储器 DMA循环模式和普通模式循环模式(Circular)普通模式(Normal) DMA源、目标寄存器增量模式DMA例…

React【组件生命周期 、组件生命周期_挂载、 组件生命周期_更新 、组件生命周期_卸载、表单_受控组件、表单_受控组件处理多个输入】(三)

文章目录 组件生命周期 组件生命周期_挂载 组件生命周期_更新 组件生命周期_卸载 表单_受控组件 表单_受控组件处理多个输入 组件生命周期 每个组件都有自己的生命周期,从“生”到”死“。 在这个过程当中,它会有不同的状态,针对不同的状态…

大型语言模型的幻觉研究|减轻及避免大模型LLM幻觉(二)

“ 本文及上一篇综述了最近关于语言模型中幻觉问题的研究进展,主要集中在ChatGPT发布后的研究。文章讨论了如何评估、追踪和消除幻觉,并探讨了现有挑战和未来方向。希望本文能为对LLM幻觉问题感兴趣的朋友提供有价值的资源,促进LLM的实际应用…

【数学建模竞赛】超详细Matlab二维三维图形绘制

二维图像绘制 绘制曲线图 g 是表示绿色 b--o是表示蓝色/虚线/o标记 c*是表示蓝绿色(cyan)/*标记 ‘MakerIndices,1:5:length(y) 每五个点取点(设置标记密度) 特殊符号的输入 序号 需求 函数字符结构 示例 1 上角标 ^{ } title( $ a…

Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私

1. 引言 Aztec的架构,不同于当前“通过EVM兼容执行环境”所实现的区块链水平扩容趋势。Aztec内部笑称其构建的为首个非zkEVM协议。 Aztec专注于实现: 成为理解和需要智能合约隐私的开发者的终极解决方案。 Aztec为开发者提供构建隐私优先app所需的网…

Java 复习笔记 - 面向对象进阶篇

文章目录 一,Static(一)Static的概述(二)静态变量(三)静态方法(四)工具类(五)static的注意事项 二,继承(一)继…

TortoiseSVN 详细操作指南

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 热爱技术的小郑 1、引言 考虑以下几种情况: 你是否在一个…

Nginx详解 五:反向代理

文章目录 1. 正向代理和反向代理1.1 正向代理概述1.1.1 什么是正向代理1.1.2 正向代理的作用1.1.3 正向代理的基本格式 1.2 反向代理概述1.2.1 什么是反向代理1.2.2 反向代理可实现的功能1.2.3 反向代理的可用模块 2. 配置反向代理2.1 反向代理配置参数2.1.1 proxy_pass2.1.2 其…

华为云云耀云服务器L实例评测|老用户回归的初印象

华为云云耀云服务器L实例评测|老用户回归的初印象 前言一、新面孔1. 云耀云服务器2. 服务器特色 二、上手感官体验1. 性价比感受2. 推荐宝塔面板3. CloudShell登录4. 安全性 总结 前言 其实笔者接触华为云已经很久了,第一次使用的云服务器就是华为云。当…

C# 反射机制

图片来自:https://www.cnblogs.com/tangge/p/3440605.html

探索多态的本质【C++】

文章目录 多态的构成条件虚函数虚函数的重写(覆盖) 虚函数重写的两个例外C11 override和final区分重载、覆盖(重写)、隐藏(重定义)抽象类接口继承和实现继承多态的原理虚函数表 动态绑定和静态绑定动态绑定静态绑定 单继承中的虚函数表多继承中的虚函数表…

视频监控平台EasyCVR分组批量绑定/取消通道功能的后端代码设计逻辑介绍

视频监控平台/视频存储/视频分析平台EasyCVR基于云边端一体化管理,可支持视频实时监控、云端录像、云存储、磁盘阵列存储、回放与检索、智能告警、平台级联等功能。安防监控平台在线下场景中应用广泛,包括智慧工地、智慧工厂、智慧校园、智慧社区等等。 …