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

Redis 命令大全

文章目录

      • 启动与连接
      • Key(键)相关命令
      • String(字符串)
      • Hash(哈希)
      • List(列表)
      • Set(集合)
      • Sorted Set(有序集合)
      • 其他常见命令
      • HyperLogLog(基数统计)
      • Bitmaps(位图)
      • Streams(流数据)
      • 连接管理
      • 许可证控制
      • Lua脚本执行
      • 其他实用命令

Redis 提供了大量的命令来操作其五种基本数据结构(字符串、哈希表、列表、集合和有序集合)以及进行数据库管理。以下是一些 Redis 常用命令的大致分类,由于篇幅限制,这里不可能列出所有命令的详细信息,请参阅官方文档以获取最新和最全的命令列表。

启动与连接

  • 启动服务
    redis-server [配置文件路径]     # 指定配置文件启动
    redis-server &                    # 以后台模式启动
    
  • 客户端连接
    redis-cli                        # 连接本地Redis服务器
    redis-cli -h 主机名 -p 端口号    # 远程连接Redis服务器
    redis-cli -a 密码                # 使用密码连接
    

Key(键)相关命令

  • 操作Key
    • DEL key:删除指定key。
    • EXISTS key:检查key是否存在。
    • KEYS pattern:查找所有符合给定模式的key。
    • RANDOMKEY:随机返回一个key。
    • RENAME oldkey newkey:重命名key。
    • RENAMENX oldkey newkey:仅当newkey不存在时重命名key。
    • TTL key:获取key的剩余生存时间。
    • PTTL key:获取key的精确剩余生存时间(毫秒)。
    • TYPE key:返回key所存储的值的类型。

String(字符串)

  • 设置与获取
    • SET key value:设置key的值。
    • GET key:获取key的值。
    • APPEND key value:追加值到key对应的字符串末尾。
    • GETRANGE key start end:获取key中指定范围的子字符串。

Hash(哈希)

  • 增删改查
    • HSET key field value:为哈希表key中的field赋值。
    • HGET key field:获取哈希表中指定字段的值。
    • HMSET key field value [field value ...]:同时设置多个哈希字段的值。
    • HGETALL key:获取哈希表中所有字段和值。

List(列表)

  • 元素操作
    • LPUSH key value [value ...]:将一个或多个值插入到列表头部。
    • RPUSH key value [value ...]:将一个或多个值插入到列表尾部。
    • LPOP key:移除并返回列表的第一个元素。
    • RPOP key:移除并返回列表的最后一个元素。
    • LRANGE key start stop:获取列表指定范围内的元素。

Set(集合)

  • 成员操作
    • SADD key member [member ...]:向集合添加一个或多个成员。
    • SISMEMBER key member:判断成员是否是集合的成员。
    • SMEMBERS key:获取集合的所有成员。
    • SCARD key:获取集合内元素的数量。

Sorted Set(有序集合)

  • 元素排序操作
    • ZADD key score member [score member ...]:添加一个带有分数的成员到有序集合。
    • ZRANK key member:返回有序集合中指定成员的索引(排名)。
    • ZSCORE key member:返回有序集合中成员的分数值。
    • ZRANGE key start stop [WITHSCORES]:按索引范围返回有序集合的成员及其分数。

其他常见命令

  • 事务MULTI, EXEC, DISCARD, WATCH

  • 发布/订阅PUBLISH channel message, SUBSCRIBE channel [channel ...], UNSUBSCRIBE [channel ...]

  • 持久化SAVE, BGSAVE, LASTSAVE, CONFIG SET save "..." (配置持久化策略)

  • 数据库管理

    • SELECT index:切换数据库。
    • FLUSHDB:清空当前数据库。
    • FLUSHALL:清空所有数据库。
  • 脚本执行EVAL script numkeys key [key ...] arg [arg ...]

  • 监控与统计INFO, MONITOR

HyperLogLog(基数统计)

  • 基数估算
    • PFADD key element [element ...]:添加指定元素到HyperLogLog结构中。
    • PFCOUNT key [key ...]:返回给定HyperLogLog的近似基数,即唯一元素数量。

Bitmaps(位图)

  • 位操作
    • SETBIT key offset value:对key所储存的字符串值设置或清除指定偏移量上的位。
    • GETBIT key offset:获取key所储存的字符串值指定偏移量上的位。
    • BITCOUNT key [start end]:计算给定范围内,key对应的字符串中被设置为1的比特位的数量。

Streams(流数据)

  • 流操作
    • XADD key * field value [field value ...]:将一条新消息追加到流中。
    • XRANGE key start end [COUNT count]:从流中返回指定范围内的消息。
    • XPENDING key group [start end count consumer]:查询消费者组未确认的消息。

连接管理

  • 客户端连接信息
    • CLIENT LIST:获取客户端连接列表。
    • CLIENT KILL ip:port:关闭与指定IP和端口相匹配的客户端连接。
    • CLIENT GETNAME:获取当前连接的名称。
    • CLIENT SETNAME connection-name:设置当前连接的名称。

许可证控制

  • ACL命令
    • ACL SETUSER username:创建或修改用户及其权限。
    • ACL GETUSER username:获取用户的信息和权限列表。
    • ACL LIST:列出所有用户及它们的权限。
    • ACL WHOAMI:显示当前连接的身份。

Lua脚本执行

Redis支持使用Lua语言编写脚本并在服务器端执行以实现更复杂的逻辑,例如:

  • EVAL script numkeys key [key ...] arg [arg ...]:执行Lua脚本,并通过key和arg参数传入键名和参数。

其他实用命令

  • 过期时间设置

    • PEXPIRE key milliseconds:为key设置过期时间(毫秒)。
    • EXPIRE key seconds:为key设置过期时间(秒)。
    • PERSIST key:移除key的过期时间,使其持久化。
  • 事务相关

    • EXEC:执行事务块内的命令序列。
    • DISCARD:取消事务,放弃执行事务块内的所有命令。
    • UNWATCH:取消之前对所有key的监视。

由于篇幅限制,以上仍非Redis命令大全的完整列表,更多高级特性、详细参数以及命令用法,请参考官方文档。

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)
————————————————

​最后我们放松一下眼睛
在这里插入图片描述

相关文章:

Redis 命令大全

文章目录 启动与连接Key(键)相关命令String(字符串)Hash(哈希)List(列表)Set(集合)Sorted Set(有序集合)其他常见命令HyperLogLog&…...

再这么烂下去,离糊就不远了。别让才华被埋没。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 近日,胡歌凭借电视剧《繁花》荣登《环球银幕》二月…...

Unity BuffSystem buff系统

Unity BuffSystem buff系统 一、介绍二、buff系统架构三、架构讲解四、框架使用buff数据Json数据以及工具ShowTypeBuffTypeMountTypeBuffOverlapBuffShutDownTypeBuffCalculateType时间和层数这里也不过多说明了如何给生物添加buff 五、总结 一、介绍 现在基本做游戏都会需要些…...

Android rom定制 修改system分区的容量大小

1、写在前面 系统ROM定制化,预置app太多,会导致系统rom很大,原生系统system分区已经不够用了,要加大系统systemui分区 2.修改system分区的容量大小的核心类 device/mediatekprojects/$project/BoardConfig.mk build/make/core/Makefile3、修改system 分区的容量大小的核…...

速盾:服务器接入免备案CDN节点的好处有哪些

本文将探讨服务器接入免备案CDN节点的好处,包括提高网站的访问速度、增加网站的稳定性和可靠性、降低带宽成本等方面的优势。同时,还将提供一些相关问题的解答,帮助读者更好地了解这一技术。 随着互联网的迅猛发展,网站的访问速度…...

Redisson看门狗机制

一、背景 网上redis分布式锁的工具方法,大都满足互斥、防止死锁的特性,有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢?redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,…...

【Java数据结构】双向 不带头 非循环 链表实现(模拟实现LinkedList类)

LinkedList底层实际上是双向、不带头结点、非循环的链表 链表的分类有八种,常用的有两种:一是单向、不带头结点、非循环的(基本上网上的题型都是这种);二是双向、不带头结点、非循环(LinkedList的底层实现…...

深度学习系列55:深度学习加速技术概述

总体有两个方向:模型优化 / 框架优化 1. 模型优化 1.1 量化 最常见的量化方法为线性量化,权重从float32量化为int8,将输入数据映射在[-128,127]的范围内。在 nvdia gpu,x86、arm 和 部分 AI 芯片平台上,均支持 8bit…...

使用python启动一个roslaunch文件

roslaunch 的实现源码主要位于 ROS 的 ros_comm 仓库中的 tools/roslaunch 目录下。源码主要由 Python 脚本和少量的 C 代码组成。 在Python程序中导入roslaunch包并启动一个ROS launch文件,你需要确保ROS环境已经设置好,并且相关的roslaunch包已经安装…...

JavaEE企业级应用软件开发—Spring框架入门学习笔记(一)

一、认识框架 实际开发中,随着业务的发展,软件系统变得越来越复杂,如果所有的软件都从底层功能开始开发,那将是一个漫长而繁琐的过程。此外,团队协作开发时,由于没有统一的调用规范,系统会出现大…...

ElasticSearch-SpringBoot整合ElasticSearch

六、SpringBoot整合ElasticSearch 1、浏览官方文档 1、查找跟ES客户端相关的文档 使用Java REST Client 选择Java Hight Level REST Client 2、创建项目的准备 1.找到原生的依赖 2.找到对象 3.分析这个类里面的方法 3、正式创建项目 1.创建工程 2.导入依赖 注意依赖版本…...

用云手机打造tiktok账号需要注意些什么?

随着tiktok平台的火热,越来越多的商家开始尝试更高效的tiktok运营方法。其中,tiktok云手机作为一种新科技引起了很多人的注意,那么用云手机运营tiktok需要注意些什么?下文将对此进行详细解析。 1. 不是所有的云手机都适合做tiktok…...

MySQL基础查询篇(9)-数学函数在查询中的应用

在MySQL数据库中,数学函数在查询中扮演了非常重要的角色。这些函数可以帮助我们进行各种数学计算和处理,使得我们能够更有效地处理和分析数据。本文将介绍一些常用的MySQL数学函数及其在查询中的应用。 1. ABS函数 ABS函数用于返回一个数值的绝对值。在…...

c#内置委托

C#语言中有许多内置的委托&#xff0c;其中一些是常用的&#xff0c;包括&#xff1a; Action&#xff1a;表示不带返回值的方法的委托。它可以接受多个参数&#xff0c;但不返回任何值。 Action<int, string> actionDelegate (x, y) > Console.WriteLine("Ac…...

【自动化测试】---Selenium+Java

1.自动化测试分类 接口自动化测试UI自动化测试&#xff08;移动端自动化测试、Web端自动化测试&#xff09; 2.选择Selenium作为web自动化工具原因&#xff08;面试题&#xff09; 开源免费支持多个浏览器支持多个系统支持多语言Selenium包提供很多供测试使用的API 3.自动化是什…...

uniapp新增一条数据增加一个折叠栏

//折叠栏 <uni-collapse classcollapse refcollapse><uni-collapse-item v-for"(item, index) in dataForm.beefCattleNums" :key"index" :title"item.fatCalfNum" classcollapse-item title-bordershow :borderfalse clicktoggleItem(…...

【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战

Netty强大特性之Native transports技术原理分析 背景介绍JNI概念介绍不同平台的JNI实现 使用Native transports库Maven的分类器&#xff08;Classifier&#xff09;使用Linux native transport使用MacOS/BSD native transport库构建native transport库Linux版本要求MacOS/BSD版…...

1-1 动手学深度学习v2-线性回归-笔记

简化核心模型 假设1: 影响房价的关键因素是卧室个数&#xff0c;卫生间个数和居住面积&#xff0c;记为 x 1 x_{1} x1​&#xff0c; x 2 x_{2} x2​&#xff0c; x 3 x_{3} x3​假设2: 成交价是关键因素的加权和 y w 1 x 1 w 2 x 2 w 3 x 3 b yw_{1}x_{1}w_{2}x_{2}w_{3…...

算法每日一题: 使用循环数组所有元素相等的最少秒数 | 哈希

大家好&#xff0c;我是星恒&#xff0c;今天给大家带来的是一道需要感觉规律的题目&#xff0c;只要读懂题目中的规律&#xff0c;就可以做出来了 这道题用到了哈希&#xff0c;还有一个关键点比较类似循环队列 题目&#xff1a;leetcode 2808 给你一个下标从 0 开始长度为 n…...

canvas实现涂鸦画板功能

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...