Redis 01 02章——入门概述与安装配置
一、入门概述
(1)是什么
- Redis:REmote Dictionary Server(远程字典服务器)
- 官网解释:Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案
- Redis之父:安特雷兹
(2)能干嘛
1.2.1主流功能与应用
- 分布式缓存,挡在MySQL数据库之前的带刀护卫
与传统数据库关系(mysql)(1)Redis是key-value数据库(NOSQL一种),mysql是关系数据库(2)Redis数据操作主要在内存,而mysql主要存储在磁盘(3)Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面(4)Redis通常用于一些特定场景,需要与Mysql一起配合使用(5)两者并不是相互替换和竞争关系,而是共用和配合使用
- 内存存储和持久化(RDB和AOF):Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
- 高可用架构搭配:单机、主从、哨兵、集群
- 缓存穿透、击穿、雪崩
- 分布式锁
- 队列
- Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用
- 我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用
- 排行版+点赞
- 在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜
- 比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户
1.2.2总体功能概述
1.2.3优势
- 性能极高-Redis读的速度是110000次/秒,写的速度是81000次/秒
- Redis数据类型丰富,不仅仅支持简单的Key-Value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
- Redis支持数据的备份,即master-slave模式的数据备份
1.2.4小总结
(3)去哪下
1.3.1官网地址
- 英文:Redis - The Real-time Data Platform
- redis中文文档:redis中文文档
1.3.2下载安装包
- 安装包:Index of /releases/ (redis.io)
- 本次:redis-7.0.0.tar.gz
1.3.3其它文档资料
- Redis源码地址:https://github.com/redis/redis
- Redis在线测试地址(不用下载也能玩): https://try.redis.io/
- Redis命令参考:Redis 命令参考 — Redis 命令参考
(4)怎么玩
- 官网文档
- 多种数据类型基本操作和配置
- 持久化和复制,RDB/AOF
- 事务的控制
- 复制,集群等
(5)Redis迭代演化和Redis7新特性浅谈
1.5.1Redis版本迭代推演介绍
- 几个里程碑式的重要版本:
- 命名规则:
- 版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1
- 版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2
- 当前奇数版本就是下一个稳定版本的开发版本,如2.9版本是3.0版本的开发版本
- 历史发布版本的源码:https://download.redis.io/releases/
1.5.2Redis7.0新特性概述
https://github.com/redis/redis/releases
1.5.3本次将对Redis7的一部分新特性做说明(not all)

二、安装配置
(1)自己购买云服务器
自己购买阿里云、青牛云、腾讯云或华为云服务器,自带centoOS或者Ubuntu环境,直接开干
(2)VMWare本地虚拟机
- VMWare虚拟机的安装
- 如何查看自己的Linux是32位还是64位
(3)Redis的安装
2.3.1日常使用什么系统安装redis
99%都是Linux版的运用和安装,Windows版不作为重点
2.3.2Windows版安装
- 下载地址:https://github.com/dmajkic/redis/downloads
- 下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids
- 打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf
- 如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略
- 如果省略,会启用默认的。输入之后,会显示如下界面:
- 这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了
- 切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379
2.3.3Linux版安装
(1)Linux环境安装Redis必须先具备gcc编译环境
- 什么是gcc:gcc是linux下的一个编译程序,是C程序的编译工具
- 查看:gcc -v
- 安装:
- 安装redis之前需要具备c++库环境
- yum -y install gcc-c++
- 命令案例:
(2)版本选择
(3)Redis7安装步骤
- 下载获得redis-7.0.0.tar.gz后将它放入我们的Linux目录/opt
wget https://download.redis.io/releases/redis-7.0.0.tar.gz
- /opt目录下解压redis
tar -zxvf redis-7.0.0.tar.gz
- 进入目录
cd redis-7.0.0
- 在redis-7.0.0目录下执行make命令
make && make install
出现下图,说明成功
- 查看默认安装目录:/usr/local/bin
- Linux下的/usr/local类似我们Windows系统的C:\Program Files
- 安装完成后,去/usr/local/bin下查看
- 说明:
- 将默认的redis.conf拷贝到自己定义好的一个路径下
cd /opt/redis-7.0.0 pwd ls mkdir /myredis cp redis.conf /myredis/ ls -l /myredis
- 修改/myredis目录下redis.conf配置文件做初始化设置
- 启动服务
- 运行redis-server命令,启用/myredis目录下的redis.conf配置文件
- 执行命令
redis-server redis7.conf
- 连接服务
- 运行redis-cli命令
- 执行命令(不写端口,默认6379)
redis-cli -a 命令 -p 端口
出现下图,说明成功
-
第二种登录方式:
-
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe。这段警告看着不舒服怎么办?
解决办法将标准错误去除即可,追加2>/dev/null,将标准错误丢弃即可,就没有烦人的警告了
- Redis端口为什么是6379:Redis的默认端口是6379,是由手机键盘字母MERZ的位置决定的。MERZ在Antirez的朋友圈语言中是"愚蠢和傻B"的代名词,源于意大利广告女郎Alessia Merz在电视节目上说了一堆愚蠢的话,redis之父对她有"特殊"印象,就给她弄成端口号了
- 永远的helloworld
- 关闭
- 单实例关闭:
redis-cli -a 密码 shutdown #在Redis服务器外面关闭命令 shutdown #如果在Redis服务器里面可以直接使用shutdown命令
- 多实例关闭:指定端口关闭
redis-cli -p 端口 shutdown
- 单实例关闭:
(4)Redis7卸载步骤
- 停止redis-server服务
- 命令
ls -l /usr/local/bin/redis-* rm -rf /usr/local/bin/redis-*
2.3.4docker版的redis安装配置参考
相关文章:

Redis 01 02章——入门概述与安装配置
一、入门概述 (1)是什么 Redis:REmote Dictionary Server(远程字典服务器)官网解释:Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高…...
windows基于cpu安装pytorch运行faster-whisper-large-v3实现语音转文字
1.创建虚拟环境 conda create -n faster-whisper python3.10 conda activate faster-whisper 2.安装cpu版本的pytorch pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple 3.验证pytorch安装结果 (faster-whisper) H:\big-model\faste…...
AI大模型(如GPT、BERT等)可以通过自然语言处理(NLP)和机器学习技术,显著提升测试效率
在软件测试中,AI大模型(如GPT、BERT等)可以通过自然语言处理(NLP)和机器学习技术,显著提升测试效率。以下是几个具体的应用场景及对应的代码实现示例: 1. 自动生成测试用例 AI大模型可以根据需求文档或用户故事自动生成测试用例。 代码示例(使用 OpenAI GPT API): …...

【Prometheus】prometheus黑盒监控balckbox全面解析与应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...
CSS实现单行、多行文本溢出显示省略号(…)
在网页设计中,我们常常遇到这样的情况:文本内容太长,无法完全显示在一个固定的区域内。为了让界面看起来更整洁,我们可以使用省略号(…)来表示内容溢出。这不仅能提升用户体验,还能避免内容溢出…...

服务器中部署大模型DeepSeek-R1 | 本地部署DeepSeek-R1大模型 | deepseek-r1部署详细教程
0. 部署前的准备 首先我们需要足够算力的机器,这里我在vultr中租了有一张A16显卡一共16GB显存的服务器作为演示。部署的模型参数为14b的。如果需要部署满血版本671b的,需要更大的算力支持,这里由于是个人资金有限,就演示14b的部署…...
元学习之孪生网络Siamese Network
简介:元学习是一种思想,一般以神经网络作为特征嵌入的工具,实现对数据特征的提取,然后通过构造某种指标以引导优化器对模型参数进行优化。而最小化距离是最常见的学习目标,这就是熟知的度量学习,度量学习里…...

深入HBase——引入
引入 前面我们通过深入HDFS到深入MapReduce ,从设计和落地,去深入了解了大数据最底层的基石——存储与计算是如何实现的。 这个专栏则开始来看大数据的三驾马车中最后一个。 通过前面我们对于GFS和MapReduce论文实现的了解,我们知道GFS在数…...
Python创建FastApi项目模板
1. 项目结构规范 myproject/ ├── app/ │ ├── core/ # 核心配置 │ │ ├── config.py # 环境配置 │ │ └── security.py # 安全配置 │ ├── routers/ # 路由模块 │ │ └── users.py # 用户路由 │ ├…...

TCNE 网络安全
一.概况 CTF(Capture The Flag)在网络安全领域中指的是网络技术人员之间进行技术竞技的一种比赛形式,它起源于1996年的DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式,现已成为全球范围网…...

车规MCU处理器选择Cortex-M7还是Cortex-R52?
车规mcu处理器选择Cortex-M7还是Cortex-R52?跟随小编从具体应用场景、安全等级(ASIL)、性能、成本进行分析吧。 01安全等级需求 ASIL-D(如刹车、转向)→ 必选R52。R52原生支持ASIL-D,硬件级错误检测&#…...

什么是计算机中的 “终端”?
在我们初学编程的时候,会遇到一个很重要的概念 ——终端。那它到底是什么呢? 在计算机领域,终端就像是我们和计算机进行对话的 “窗口”。我们可以在这个窗口里,用一些特定的命令来告诉计算机该做什么。比如,让计算机…...
LeetCode刷题---字符串---819
最常见的单词 819. 最常见的单词 - 力扣(LeetCode) 题目: 给你一个字符串 paragraph 和一个表示禁用词的字符串数组 banned ,返回出现频率最高的非禁用词。题目数据 保证 至少存在一个非禁用词,且答案 唯一 。 par…...

SSH IBM AIX服务器相关指标解读
(一)ZPU使用率 含义 在IBM AIX服务器中,ZPU使用率反映了特定处理单元(ZPU,假设是某种自定义或特定环境下的处理单元)的资源利用程度。它表示ZPU在一段时间内处于忙碌状态执行任务的时间比例。例如ÿ…...

Wireshark TS | 再谈虚假的 TCP Spurious Retransmission
前言 在之前的《虚假的 TCP Spurious Retransmission》文章中曾提到一个错误判断为 TCP Spurious Retransmission,实际为 TCP Out-Of-Order 的案例,本次继续探讨一个虚假的 TCP Spurious Retransmission 案例。 问题背景 TCP Spurious Retransmission…...

基于kafka、celery的日志收集报警项目
项目环境:centOS7.9 mariadb5.6 celery5.0 kafka3.6.1 项目时间:2025年1月 项目描述:这个项目搭建了一个基于 Nginx 和 Flask 的 Web 集群,使用 Filebeat 将 Nginx 的访问日志发送到 Kafka 集群。通过 Python 消费者程序解析日志…...

QML使用ChartView绘制饼状图
一、工程配置 首先修改CMakeLists.txt,按下图修改: find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Widgets) PRIVATEtarget_link_libraries(appuntitledPRIVATE Qt6::QuickPRIVATE Qt6::Widgets )其次修改main.cpp,按下图修改ÿ…...

头歌实验--面向对象程序设计
目录 实验五 类的继承与派生 第1关:简易商品系统 任务描述 答案代码 第2关:公司支出计算 任务描述 答案代码 第3关:棱柱体问题 任务描述 答案代码 实验五 类的继承与派生 第1关:简易商品系统 任务描述 答案代码 #incl…...
DeepSeek-R1 蒸馏 Qwen 和 Llama 架构 企业级RAG知识库
“DeepSeek-R1的输出,蒸馏了6个小模型”意思是利用DeepSeek-R1这个大模型的输出结果,通过知识蒸馏技术训练出6个参数规模较小的模型,以下是具体解释: - **知识蒸馏技术原理**:知识蒸馏是一种模型压缩技术,核…...

App UI自动化--Appium学习--第二篇
如果第一篇在运行代码的时候出现问题,建议参考我的上一篇文章解决。 1、APP界面信息获取 adb logcat|grep -i displayed代码含义是获取当前应用的包名和界面名。 根据日志信息修改代码当中的包名和界面名,就可以跳转对应的界面。 2、界面元素获取 所…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...