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

快速掌握Redis基础知识及使用技巧

 Redis 是一个高性能、基于内存的键值数据库,其主要特点是支持多种数据结构和高并发读写操作。在本文中,我们将介绍 Redis 的基本概念和使用方法,以帮助读者快速入门 Redis。

Redis 的基本概念

Redis 是一种基于内存的高性能 key-value 存储系统,它支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合等。Redis 具有以下基本概念:

  1. Key:Redis 的基本单位,是一个字符串,用于标识一个数据项。
  2. Value:Redis 中存储的数据,可以是字符串、哈希表、列表、集合或有序集合等多种数据结构。
  3. 数据结构:Redis 支持多种数据结构,每种数据结构都有自己的操作命令。例如,字符串支持 GET、SET 等操作,列表支持 LPUSH、RPUSH、LPOP、RPOP 等操作。
  4. 数据库:Redis 支持多个数据库,默认有 16 个数据库,通过编号从 0 到 15 进行标识。可以通过 SELECT 命令来切换数据库。
  5. TTL:每个 Redis key 都可以设置一个 TTL(Time To Live)过期时间,当过期时间到达时,该 key 将被自动删除。
  6. 持久化:Redis 支持数据持久化,可以将内存中的数据保存到硬盘中,以便在服务器重启后能够恢复数据。
  7. 主从复制:Redis 支持主从复制,可以将一个 Redis 服务器作为主服务器,其他 Redis 服务器作为从服务器,从主服务器同步数据,以提高数据的可用性和可靠性。
  8. 分布式:Redis 支持分布式架构,可以将数据分布到多个 Redis 节点上,以提高数据的处理能力和可靠性。

Redis 的安装与配置

在 Windows 上安装 Redis 可以使用 Redis 官方提供的 Windows 版本。可以按照以下步骤来进行安装:

  1. 下载 Redis Windows 版本。可以从 Redis 官方网站上下载 Windows 版本的 Redis,下载地址为 https://github.com/microsoftarchive/redis/releases。
  2. 解压 Redis 压缩包。下载完成后,将压缩包解压到任意文件夹中。
  3. 启动 Redis。进入解压后的 Redis 文件夹,在命令提示符中运行以下命令:
redis-server.exe redis.windows.conf

这将启动 Redis 服务。

      4.使用 Redis。在命令提示符中运行以下命令来连接 Redis:

redis-cli.exe -h 127.0.0.1 -p 6379

如果需要认证,可以在连接命令后添加 -a 参数。

毕竟是在本地安装,我们当然还可以直接进入到该安装目录下找到redis-server.exe和redis-cli.exe文件,双击他们就可以在本地直接启动了。

Redis 的数据类型

Redis 支持多种数据类型,常用的数据类型包括:

  1. 字符串(String):存储一个字符串或者二进制数据。
  2. 哈希表(Hash):存储键值对集合,类似于关联数组。
  3. 列表(List):存储一个有序的字符串列表。
  4. 集合(Set):存储一个无序的字符串集合。
  5. 有序集合(Sorted Set):存储一个有序的字符串集合,并为每个元素分配一个分数。

Redis 的基本操作

1.连接 Redis

在使用 Redis 前,需要先与 Redis 建立连接。可以使用 Redis 客户端程序或者编程语言提供的 Redis 库来连接 Redis。

2.设置键值对

Redis 是一个键值存储数据库,可以使用 SET 命令来设置键值对,例如:

SET key value

其中,key 为键名,value 为键值。

3.获取键值对

可以使用 GET 命令来获取键值对,例如:

GET key

其中,key 为键名。

4.设置过期时间

可以使用 EXPIRE 命令设置键的过期时间,例如:

EXPIRE key seconds

其中,key 为键名,seconds 为过期时间,以秒为单位。

5.检查键是否存在

可以使用 EXISTS 命令检查键是否存在,例如:

EXISTS key

其中,key 为键名。

6.删除键

可以使用 DEL 命令删除键,例如:

DEL key

其中,key 为键名。

7.清空数据库

可以使用 FLUSHDB 命令清空当前数据库,使用 FLUSHALL 命令清空所有数据库。

8.数据类型操作

Redis 支持多种数据类型,常用的数据类型包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)等。可以使用相应的命令对不同的数据类型进行操作,例如:

  • 对字符串进行操作:
SET key value  # 设置字符串
GET key  # 获取字符串
  • 对哈希表进行操作:
HSET key field value  # 设置哈希表字段值
HGET key field  # 获取哈希表字段值
  • 对列表进行操作:
LPUSH key value1 value2  # 将一个或多个值插入到列表头部
RPUSH key value1 value2  # 将一个或多个值插入到列表尾部
LPOP key  # 移除并返回列表的第一个元素
RPOP key  # 移除并返回列表的最后一个元素
  • 对集合进行操作:
SADD key member1 member2  # 向集合添加一个或多个成员
SMEMBERS key  # 返回集合中的所有成员
  • 对有序集合进行操作:
ZADD key score1 member1 score2 member2  # 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop  # 通过索引区间返回有序集合成指定区间内的成员

9.事务操作

Redis 支持事务操作,可以将多个命令打包在一个事务中,然后一次性执行。可以使用 MULTI 命令开始一个事务,使用 EXEC 命令执行事务,例如:

MULTI
SET key1 value1
SET key2 value2
EXEC

官方文档:Documentation | Redis

相关文章:

快速掌握Redis基础知识及使用技巧

Redis 是一个高性能、基于内存的键值数据库,其主要特点是支持多种数据结构和高并发读写操作。在本文中,我们将介绍 Redis 的基本概念和使用方法,以帮助读者快速入门 Redis。 Redis 的基本概念 Redis 是一种基于内存的高性能 key-value 存储系…...

C++控制台打飞机小游戏

我终于决定还是把这个放出来。 视频在这:https://v.youku.com/v_show/id_XNDQxMTQwNDA3Mg.html 具体信息主界面上都有写。 按空格暂停,建议暂停后再升级属性。 记录最高分的文件进行了加密。 有boss(上面视频2分47秒)。 挺好…...

Pinna的使用以及pinna的持续化存储(两种方法)

一、简介 pinia是 vue3 新的状态管理工具,简单来说相当于之前 vuex,它去掉了 Mutations 但是也是支持 vue2 的,需要的朋友可以参考下 二、使用方法 1.安装 npm install pinia -S 2..引入 import { createPinia,PiniaPluginContext } from p…...

开发中造成空指针的常见用法,如何避免

1. 前言 《手册》的第 7 页和 25 页有两段关于空指针的描述: 【强制】Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 【推荐】防止 NPE,是程序员的基本修养,注意 NPE 产生的场景: 返回类型为…...

MySQL事务和索引

目录 事务的概念 事务的四大特性(ACID) 原子性 隔离性 持久性 一致性 什么是脏读、幻读和不可重复读? 脏读 幻读 不可重复读 事务的隔离级别 读未提交 读已提交 可重复读 串行化 索引 索引优点 索引缺点 索引分类 索引设…...

Kali工具集简介

Kali Linux提供了数种经过定制的专门为渗透测试设计的工具。工具都会按下图中下拉选单所示的方式按组分类聚合。了解工具是做渗透测试第一个认知。 口Information Gathering(信息收集) 这些都是侦察工具,用来收集目标网络和设备的数据。在这类工具中,从找出设备的工具到查看使…...

离散数学 | 图论 | 欧拉图 | 哈密顿图 | 割点 | 桥(欧拉图和哈密顿图有没有割点和桥?)

本文主要解决以下几个问题: 1.欧拉图能不能有割点,能不能有桥? 2.哈密顿图能不能有割点,能不能有桥? 首先我们要明白几个定义 割点的定义就是在一个图G中,它本来是连通的,去掉一个点v以后这个…...

Android生命周期:理解与应用

摘要:Android生命周期是开发Android应用程序时至关重要的概念。本文将介绍Android生命周期的概念、生命周期方法的执行顺序以及如何在应用程序中正确地管理生命周期。我们还将讨论生命周期对于应用程序的重要性,并提供一些实际应用中的最佳实践和注意事项…...

00后真的是内卷王中王,真的想离职了....

都说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…...

linux Fd以及重定向讲解

感谢你的阅读,是对我最大的鼓励!!!! 目录 fd理解 文件操作重定向 让我们回顾C语言文件操作 首选我们要知道2个知识点: 额外知识点 如何理解一切皆文件呢? 当父进程fork创建子进程是否创建…...

Moonbeam近日提案公投一览

正在跟进Moonbeam治理的小伙伴,一起来快速浏览一下近期生态中正在发生的事情吧!其中包含多个去中心化应用的Grant加速计划提案、HRMP开拓提案以及优化质押相关平台的内容。许多提案都与网络的运作息息相关,一起了解和参与Moonbeam的发展吧&am…...

凝聚青年力量,打造数字化人才队伍

当代青年人勇于探索、敢于创新、勤于变革,积极承担社会责任。这与ABeam倡导的「Build Beyond As One.™」的品牌理念不谋而合。ABeam的青年员工是未来社会的中坚力量,也正用他们的青春能量助力ABeam在中国的发展。 01 新兴青年力量 对ABeam而言&#…...

蓝牙资讯|智能家居标准Matter 1.1 发布,智能家居产品兼容更丰富

据“CSA 连接标准联盟”官方微信号,Matter 1.1 版本已发布,“1.1 版本带来的更新使设备制造商和开发者上手更容易、产品获取认证更方便,也让产品能更快地交付给用户。该版本还为电池供电设备提供了更大支持,而这类设备涉及多种类型…...

Cube Map 系列之:手把手教你 实现天空盒(Sky Box)

什么是天空盒 An skybox is a box with textures on it to look like the sky in all directions or rather to look like what is very far away including the horizon.天空盒是一个使用纹理贴图构建的盒子,人在其中朝任何一个方向看去,其纹理彷佛天空…...

腾讯VS百度:在AI上下大赌注

来源:猛兽财经 作者:猛兽财经 腾讯控股(00700)最近已经把基础模型和生成式人工智能应用方面的行业突破视为其业务的新增长机会了,并且正在大力投资人工智能,从而增强其现有产品的竞争力和拓展新的机会,比如腾讯已经把…...

字节原来这么容易进,是面试官放水,还是公司实在是太缺人?

本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到字节可以再给我一次机会,还是挺开心的。 本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学&…...

生死疲劳|因为此书莫言获得诺贝尔奖

📚书名:《生死疲劳》 ✏️作者:莫言 历经六世的生死轮回, 三代人无尽的生死疲劳; 触碰极致的痛苦与快乐, 感受不灭的热情与希望。 🔥虽然本书长达39万字,但阅读过程却是无比的酣畅…...

Linux系统编程总结

day2 vim的三种工作模式 命令模式 vi hello.c zz 保存退出 2.编辑模式 i a o s (有大写)可以写东西 3.末行模式: 文本和末行模式不能直接切换 要切换回命令模式 再到末行模式,w:保存 q:退出 按两次esc回到命令模式 vim的基本…...

javascript基础二:Javscript字符串的常用方法有哪些?

在日常开发中,我们对字符串也是操作蛮多,这里我们来整理下字符串的一下最常用的方法 一、操作方法 字符串常用的操作方法归纳为增、删、改、查 增 这里增的意思并不是说直接增添内容,而是创建字符串的一个副本,再进行操作 除了…...

面了个 Java 实习生,小伙很优秀!

大家好,我是鱼皮,前几天给自己的公司面试了一位 Java 暑期实习生,候选人目前是大三。 整个过程我都录屏了,并且在征得候选人的同意后,把面试过程分享出来。一方面是希望对其他在学编程找工作的小伙伴有一些启发和参考…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...