当前位置: 首页 > 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、界面元素获取 所…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

蓝桥杯 冶炼金属

原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...