当前位置: 首页 > news >正文

Redis 01 02章——入门概述与安装配置

一、入门概述

(1)是什么

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

(2)能干嘛

1.2.1主流功能与应用

  1. 分布式缓存,挡在MySQL数据库之前的带刀护卫与传统数据库关系(mysql)(1)Redis是key-value数据库(NOSQL一种),mysql是关系数据库(2)Redis数据操作主要在内存,而mysql主要存储在磁盘(3)Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面(4)Redis通常用于一些特定场景,需要与Mysql一起配合使用(5)两者并不是相互替换和竞争关系,而是共用配合使用
  2. 内存存储和持久化(RDB和AOF):Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
  3. 高可用架构搭配:单机、主从、哨兵、集群
  4. 缓存穿透、击穿、雪崩
  5. 分布式锁
  6. 队列
    1. Reids提供listset操作,这使得Redis能作为一个很好的消息队列平台来使用
    2. 我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用
  7. 排行版+点赞
    1. 在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜
    2. 比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户

1.2.2总体功能概述

1.2.3优势

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

1.2.4小总结

(3)去哪下

1.3.1官网地址

  1. 英文:Redis - The Real-time Data Platform
  2. redis中文文档:redis中文文档

1.3.2下载安装包

  1. 安装包:Index of /releases/ (redis.io)
  2. 本次:redis-7.0.0.tar.gz

1.3.3其它文档资料

  1. Redis源码地址:https://github.com/redis/redis
  2. Redis在线测试地址(不用下载也能玩): https://try.redis.io/
  3. Redis命令参考:Redis 命令参考 — Redis 命令参考

(4)怎么玩

  1. 官网文档
  2. 多种数据类型基本操作和配置
  3. 持久化和复制,RDB/AOF
  4. 事务的控制
  5. 复制,集群等

(5)Redis迭代演化和Redis7新特性浅谈

1.5.1Redis版本迭代推演介绍

  1. 几个里程碑式的重要版本
  2. 命名规则
    1. 版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1
    2. 版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2
    3. 当前奇数版本就是下一个稳定版本的开发版本,如2.9版本是3.0版本的开发版本
    4. 历史发布版本的源码: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本地虚拟机

  1. VMWare虚拟机的安装
  2. 如何查看自己的Linux是32位还是64位

(3)Redis的安装

2.3.1日常使用什么系统安装redis

99%都是Linux版的运用和安装,Windows版不作为重点

2.3.2Windows版安装

  1. 下载地址:https://github.com/dmajkic/redis/downloads
  2. 下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids
  3. 打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf
  4. 如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略
  5. 如果省略,会启用默认的。输入之后,会显示如下界面:
  6. 这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了
  7. 切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379

2.3.3Linux版安装

(1)Linux环境安装Redis必须先具备gcc编译环境
  1. 什么是gccgcc是linux下的一个编译程序,是C程序的编译工具
  2. 查看gcc -v
  3. 安装
    1. 安装redis之前需要具备c++库环境
    2. yum -y install gcc-c++
    3. 命令案例
(2)版本选择
(3)Redis7安装步骤
  1. 下载获得redis-7.0.0.tar.gz后将它放入我们的Linux目录/opt
    wget https://download.redis.io/releases/redis-7.0.0.tar.gz

  2. /opt目录下解压redis
    tar -zxvf redis-7.0.0.tar.gz

  3. 进入目录
    cd redis-7.0.0
  4. 在redis-7.0.0目录下执行make命令
    make && make install
    出现下图,说明成功
  5. 查看默认安装目录:/usr/local/bin
    1. Linux下的/usr/local类似我们Windows系统的C:\Program Files
    2. 安装完成后,去/usr/local/bin下查看
    3. 说明
  6. 将默认的redis.conf拷贝到自己定义好的一个路径下
    cd /opt/redis-7.0.0
    pwd
    ls
    mkdir /myredis
    cp redis.conf /myredis/
    ls -l /myredis
  7. 修改/myredis目录下redis.conf配置文件做初始化设置
  8. 启动服务
    1. 运行redis-server命令,启用/myredis目录下的redis.conf配置文件
    2. 执行命令
      redis-server redis7.conf

  9. 连接服务
    1. 运行redis-cli命令
    2. 执行命令(不写端口,默认6379
      redis-cli -a 命令 -p 端口

      出现下图,说明成功

    3. 第二种登录方式

    4. Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe。这段警告看着不舒服怎么办?解决办法将标准错误去除即可,追加2>/dev/null,将标准错误丢弃即可,就没有烦人的警告了

  10. Redis端口为什么是6379:Redis的默认端口是6379,是由手机键盘字母MERZ的位置决定的。MERZ在Antirez的朋友圈语言中是"愚蠢和傻B"的代名词,源于意大利广告女郎Alessia Merz在电视节目上说了一堆愚蠢的话,redis之父对她有"特殊"印象,就给她弄成端口号了
  11. 永远的helloworld
  12. 关闭
    1. 实例关闭
      redis-cli -a 密码 shutdown    #在Redis服务器外面关闭命令
      shutdown                        #如果在Redis服务器里面可以直接使用shutdown命令
    2. 实例关闭:指定端口关闭
      redis-cli -p 端口 shutdown
(4)Redis7卸载步骤
  1. 停止redis-server服务
  2. 命令
    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在一段时间内处于忙碌状态执行任务的时间比例。例如&#xff…...

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,按下图修改&#xff…...

头歌实验--面向对象程序设计

目录 实验五 类的继承与派生 第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、界面元素获取 所…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...