当前位置: 首页 > 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;在其他的一些应用上将会起到非常重…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...