【Redis常见命令】 —— 关于Redis的一点儿知识

news2024/12/23 1:10:20

在这里插入图片描述

                                                                  💧 【 R e d i s 常见命令】——关于 R e d i s 的一点儿知识 \color{#FF1493}{【Redis常见命令】 —— 关于Redis的一点儿知识} Redis常见命令】——关于Redis的一点儿知识💧          


🌷 仰望天空,妳我亦是行人.✨
🦄 个人主页——微风撞见云的博客🎐
🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
💧 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 💐
🥣 《每天一点小知识》专栏的文章可以丰富你的知识库,滴水成河~ 🌊
🎐 《Redis》专栏的文章是在学习Redis时,整理的笔记与记录的思考~ 🥏
🥕 《RabbitMQ》专栏的文章是在学习尚硅谷课程时整理的笔记,方便复习巩固~ 🍑
🪁 希望本文能够给读者带来一定的帮助~🌸文章粗浅,敬请批评指正!🐥


文章目录

  • 🐳Redis常见命令
    • Redis数据结构介绍
    • 通用命令
    • String类型命令
    • Hash类型命令
    • List类型命令
    • Set类型命令
    • ZSet类型命令
  • 🐳结语


🐳Redis常见命令

在Redis中,有多种数据结构和命令可供使用。本文将介绍Redis常见的数据结构以及各种命令的使用。

Redis数据结构介绍

💧Redis是一个高性能的键值存储系统,支持多种数据结构。以下是Redis中常用的数据结构:

  • String(字符串):存储字符串类型的值。
  • Hash(哈希表):存储键值对的无序散列表。
  • List(列表):存储一个有序的字符串元素列表。
  • Set(集合):存储字符串元素的无序集合。
  • ZSet(有序集合):存储字符串元素和对应的分值,按分值排序。

在这里插入图片描述

💧接下来,让我们一一介绍这些数据结构及其常见命令 ↓

通用命令

💧在使用Redis时,有一些通用命令适用于所有数据结构。以下是一些常用的通用命令示例:

命令描述
KEYS查看符合模板的所有key,不建议在生产环境设备上使用。
DEL key删除指定的键。
EXISTS key检查键是否存在。
EXPIRE key给一个key设置有效期,有效期到期时该key会被自动删除。
TTL key获取键的剩余过期时间(以秒为单位)。

可以通过help [command] 可以查看一个命令的具体用法!


String类型命令

💧String类型是Redis中最基本的数据结构,用于存储字符串值。以下是一些常用的String类型命令示例:

命令描述
SET key value [EX seconds] [PX milliseconds] [NX]设置键的值。可选参数包括过期时间(以秒或毫秒为单位)和条件选项(NX表示仅在键不存在时设置)。
GET key获取键的值。
MSET key1 value1 [key2 value2 ...]同时设置多个键值对。
MGET key1 [key2 ...]获取多个键的值。
INCR key将键的值增加1。
INCRBY key让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2。
INCRBYFLOAT key让一个浮点类型的数字自增并指定步长。
DECR key将键的值减少1。
SETEX key seconds value设置键的值,并指定过期时间(以秒为单位)。

💧SET命令参数的具体解释如下:

  • key: 键名。
  • value: 键对应的值。
  • EX seconds(可选): 设置键的过期时间(以秒为单位)。键将在指定的秒数后自动过期并被删除。
  • PX milliseconds(可选): 设置键的过期时间(以毫秒为单位)。键将在指定的毫秒数后自动过期并被删除。
  • NX(可选): 仅在键不存在时设置。如果键已经存在,则不进行设置操作。

💧例如,以下命令将在键mykey中设置值为myvalue,并同时设置过期时间为10秒:

SET mykey myvalue EX 10

Hash类型命令

💧Hash类型用于存储键值对的无序散列表,类似于Java中的HashMap结构。Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD。

命令描述
HSET key field value设置哈希表中字段的值。
HGET key field获取哈希表中字段的值。
HGETALL key获取哈希表中所有字段和对应的值。
HDEL key field1 field2删除哈希表中的一个或多个字段。
HKEYS key获取哈希表中所有字段名。
HVALS key获取哈希表中所有字段值。
HSETNX key field value仅在字段不存在时,设置哈希表中字段的值。

在这里插入图片描述

List类型命令

💧Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。

特征也与LinkedList类似:

  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般

💧常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等.

命令描述
LPUSH key value1 value2将一个或多个值插入列表的左侧。
RPUSH key value1 value2将一个或多个值插入列表的右侧。
LRANGE key start stop获取列表中指定范围内的元素。
LPOP key移除并返回列表左侧的第一个元素。
RPOP key移除并返回列表右侧的第一个元素。

在这里插入图片描述

Set类型命令

💧Set类型是Redis中的无序字符串元素集合,不允许重复的元素。

Set具备下列特性:

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集、并集、差集等功能
命令描述
SADD key member1 member2向集合中添加一个或多个成员。
SMEMBERS key获取集合中的所有成员。
SISMEMBER key member检查成员是否存在于集合中。
SREM key member1 member2从集合中移除一个或多个成员。
SCARD key获取集合中的成员数量。
SINTER key1 key2 …求key1与key2的交集。
SDIFF key1 key2 …求key1与key2的差集。
SUNION key1 key2 …求key1和key2的并集。

在这里插入图片描述

ZSet类型命令

💧ZSet类型(有序集合)是Redis中的有序字符串元素集合,每个元素关联一个分值,根据分值排序。

ZSet具备下列特性:

  • 可排序
  • 元素不重复
  • 查询速度快
命令描述
ZADD key score1 member1 score2 member2向有序集合中添加一个或多个成员。
ZRANGE key start stop [WITHSCORES]获取有序集合中指定范围内的成员。
ZSCORE key member获取有序集合中成员的分值。
ZREM key member1 member2从有序集合中移除一个或多个成员。
ZRANK key member获取有序集合中指定元素的排名。
ZCARD key获取有序集合中的成员数量。
ZCOUNT key min max统计score值在给定范围内的所有元素的个数。
ZINCRBY key increment member让集合中的指定元素自增,步长为指定的increment值。
ZRANGE key min max按照score排序后,获取指定排名范围内的元素。
ZRANGEBYSCORE key min max按照score排序后,获取指定score范围内的元素。
ZDIFF、ZINTER、ZUNION求差集、交集、并集。

在这里插入图片描述


🐳结语

🐬初学一门技术时,总有些许的疑惑,别怕,它们是我们学习路上的点点繁星,帮助我们不断成长。

🐟文章粗浅,希望对大家有帮助!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java框架学习(二)SSM体系:Spring、SpringMVC、MybatisPlus

文章目录 SpringIoC控制反转DI 依赖注入BeanBean基础配置namescope Bean实例化方式Bean的生命周期 依赖注入方式依赖自动装配 Mybatis-Plus配置BaseMapper通用Service常用注解TableNameTableId雪花算法 TableFieldTableLogic 条件构造器和常用接口QueryWrapperUpdateWrapper 插…

【数据库原理与实践】知识点归纳(下)

第6章 规范化理论 一、关系模式设计中存在的问题 关系、关系模式、关系数据库、关系数据库的模式 关系模式看作三元组&#xff1a;R < U,F >&#xff0c;当且仅当U上的一个关系r满足F时&#xff0c;r称为关系模式R < U,F >的一个关系 第一范式&#xff08;1NF&…

一步一步学OAK之七:通过OAK相机实现特征跟踪

目录 特征跟踪Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4: 定义FeatureTrackerDrawer类定义变量定义onTrackBar方法定义trackFeaturePath方法定义drawFeatures方法定义FeatureTrackerDrawer类的构造函数 Setup 5: 创建pipelineSetup 6: 创建节点创建相机…

Scrapy框架之下载中间件(详解)

目录 Scrapy中下载中间件 概念 方法 process_request(self, request, spider) 参数: process_response(self, request, response, spider) 参数 基本步骤 示例代码 注意 Scrapy 中 Downloader 设置UA 开发UserAgent下载中间件 代码 三方模块 配置模块到Settin…

Redis系列 | 分类树查询功能如何从2s优化到0.1s

大家好&#xff0c;今天我们继续来分享一个在项目开发过程中遇到的实际问题&#xff0c;这里也来梳理并总结一下我们是如何对它进行持续优化的&#xff0c;希望能对大家有所帮助。 分类树查询功能&#xff0c;在各个业务系统中可以说随处可见&#xff0c;特别是在一些电商系统中…

UGUI无线滑动列表

在游戏开发中&#xff0c;经常会遇到需要展示大量数据的情况&#xff0c;例如排行榜、背包等。为了优化显示效果和性能&#xff0c;一个常见的做法是使用无限滑动列表&#xff08;Infinite Scroll View&#xff09;。本文将详细解析如何实现无限滑动列表。 基本原理 无限滑动列…

市电电压双向越限报警保护器电路设计

该报警保护器能在市电电压高于或低于规定值时&#xff0c;进行声光报警&#xff0c;同时自动切断电器电源&#xff0c;保护用电器不被损坏。该装置体积小、功能全、制作简单、实用性强。 一、电路工作原理 电路原理如图 3 所示。 市电电压一路由C3降压&#xff0c;DW稳压&am…

驱动开发:应用DeviceIoContro模板精讲

在笔者上一篇文章《驱动开发&#xff1a;应用DeviceIoContro开发模板》简单为大家介绍了如何使用DeviceIoContro模板快速创建一个驱动开发通信案例&#xff0c;但是该案例过于简单也无法独立加载运行&#xff0c;本章将继续延申这个知识点&#xff0c;通过封装一套标准通用模板…

一、枚举类型——新特性(switch 中的箭头语法)

支持模式匹配 你可以认为模式匹配&#xff08;pattern matching&#xff09;是在 switch 关键字上进行了显著的功能扩充。 它是分成了多个模块、 历经了 Java 的多个版本持续实现的。这保证了每个模块在其他模块加入前都可以安全地运行。最后&#xff0c;所有的模块集中到一起…

LLM大模型应用开发的本地环境搭建

尽管 ChatGPT 仍然很受欢迎&#xff0c;但泄露的 Google 内部文件表明开源社区正在迎头赶上并取得重大突破。 我们现在能够在消费级 GPU 上运行大型 LLM 模型。 因此&#xff0c;如果你是一名开发人员&#xff0c;想要在本地环境中尝试这些 LLM 并用它构建一些应用程序&#x…

Kubernetes进阶实战2

Kubernetes具有以下几个重要特性 简言之&#xff0c;Kubernetes整合并抽象了底层的硬件和系统环境等基础设施&#xff0c;对外提供了一个统一的资源池供终端用户通过API进行调用。 Kubernetes具有以下几个重要特性。 &#xff08;1&#xff09;自动装箱 构建于容器之上&#x…

定时器T0流水灯

89C52RC芯片 12Mhz&#xff1a;FC18 11.0592Mhz &#xff1a;FC67 定时器T0初值计算 12Mhz 11.0592Mhz main.c #include<regx52.h> #include<intrins.h> //_crol_循环左移函数 #include "Timer0.h" #include "Key.h" /*定时器&#xff0c;…

玩转k8s:资源管理

1 资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;所谓的部署服务&#xff0c;其实就是在kubernetes集群中运行…

【C++】哈希表的改造——unordered_map和unordered_set的模拟实现

文章目录 1. unordered系列的容器封装1.1 改造1:模版参数类型的改造1.1.1 HashNode改造1.1.2 HashTable改造 1.2 改造2:迭代器的增加与封装1.2.1 迭代器类的实现1.2.2 迭代器的封装 1.3 改造3:insert的改写封装1.4 析构函数的实现1.5 unordered_map&unordered_set的封装实现…

Range_image 可视化

范围图像与点云的区别 范围图像&#xff08;Range Image&#xff09;和点云&#xff08;Point Cloud&#xff09;是两种常见的表示和处理三维点数据的方式&#xff0c;它们之间有以下区别&#xff1a; 数据结构&#xff1a;点云是一组三维点的集合&#xff0c;每个点包含位置信…

React解决setState异步带来的多次修改合一和修改后立即使用没有变化问题

我们编写这样一段代码 import React from "react" export default class App extends React.Component {constructor(props){super(props);this.state {cont: 0}}componentDidMount() {this.setState({cont: this.state.cont1})}render(){return (<div>{ thi…

Ubuntu下编译VTK

1.先安装QT&#xff0c;不知道不装行不行&#xff0c;我们项目需要。 2.去VTK官网下载VTK源码。 3.解压源码。 4.编译需要用cmake-gui&#xff0c;装QT的一般都有&#xff0c;但需要把路径添加到PATH才能用。 5.打开cmake-gui&#xff0c;设置源码路径&#xff0c;编译输出路…

项目——学生信息管理系统6

目录 权限的处理 在 MainFrm中定义 一个 权限判断的方法 在 MainFrm 的构造方法中调用一下 测试用学生身份登录 测试用教师身份登录 接下来&#xff0c;我们到学生列表页面里面 ManageStudentFrm&#xff0c;继续权限的设置&#xff0c;学生只能查看自己的信息&#xff0c…

神坑:ElasticSearch8集群启动报错“Device or resource busy”(Docker方式)

昨天在Docker中配置ElasticSearcch8集群模式时&#xff0c;先初步配置了master主节点。然后主节点启动就报错&#xff0c;看日志&#xff0c;提示“Device or resource busy”。异常第一句大概这个样子&#xff1a; Exception in thread "main" java.nio.file.FileS…