Redis之二:Redis 常用命令

news2025/11/5 8:26:47

Redis 命名不区分大小写

0.登录远程服务器

如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。

语法
$ redis-cli -h host -p port -a password

获取配置信息:

CONFIG GET CONFIG_SETTING_NAME

例:

CONFIG GET loglevel 

CONFIG GET *   #  获取所有配置信息

Redis 数据类型

Redis支持五种数据类型:

string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String(字符串)

string 是 redis 最基本的类型,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

举例:

1、set name “zhang”             # 键值对  name赋值

2、get name                     # 通过name 取值

3、del name                     # 删除 移除键值

4、set name wang                # key相同 则覆盖

5、mset age 12 sex "男"         # 同时赋值多个,注意成对。否则异常报错

6、Mget age name sex            # 同时打印多个值 ,根据key

7、Getrange name 0 3            # 获取子串

8、Incr age                     # 对age 自增操作

9、Incrby age 4                 # 对age 加上指定 数

10、Decr age                    # 对age 做减一操作

11、Decrby age 5                # 对age 减去指定值

12、Exists name                 # 判断键是否存在

13、Strlen name                 # 获取键值的字符个数

14、Append name “abc”           # 给原有的字符串追加字符串

15、Getset name zhangsan        # 给键name赋值同时返回原有的旧值

下面关于key的有效期限:

16、expire name 10           # 设置name的过期时间 单位秒

17、ttl name                 # 查看剩时 不存在返回-2 存在且永不过期-1  

18、persist name             # 移除 key 的过期时间,key 将持久保持。

19、 set name zhang ex 10    # 设置键值同时指定过期时间10s .

20、set name zhang px 10000  # 单位是毫秒  nx  单位是纳秒

21、pttl name                # 获取剩余的毫秒数

22、randomkey                # 随机从数据库返回键

切换数据库

默认提供16个 数据库名分别为 0~15

1、 select 1                  # 切换为数据库1 为数据库的编号

2、Select 2                   # 切换为数据库2,所操作的数据是不同的

3、Select 16                  # 会报错,不存在16的数据库
Hash(哈希)

Redis hash 是一个键值(key=>value)对集合。

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 232 -1 键值对(40多亿)

#person为对象名,后面为属性键值对(多个)
1、Hmset person id 1 name “zhangsan” age 23 

2、Hset person sex “男”        # 对象单个属性赋值

3、Hmget person id             # 打印person对象的id属性的值

4、Hmget person id name        # 同时打印person 对象id和name 属性值 

5、Hgetall person              # 取出所有属性

6、Hdel person age             # 删除对象的属性

7、Hlen person                 # 对象中属性个数

8、Hmget person age name       # 同时取出对象中多个属性的值

9、Hkeys    person             # 取出所有属性

10、Hvals person               # 取出所有值
List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。

列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

1、Lpush  fruit apple    # 在list对象fruit中放入apple

2、Lpush fruit orange    # 在list对象fruit中放入orange

3、Lpush fruit banana    # 在list对象fruit中放入banana

4、Lrange fruit 0  2     # 按下标取三个元素 后面索引号 可以大于总个数。 

5、Lrange fruit 0 -1     # 取出全部元素

# 下面同时放入多个元素

6、Lpush words A B C     # 在左边头部插入  结果为 C B A

7、Rpush words E F G     # 在右边尾部追加  结果为 C B A E F G

8、Llen words            # 列表元素个数

9、Lpop words            # 弹出移除队头元素并输出

10、Rpop words           # 移除弹出队尾最后元素并输出

11、Lset words 2 H       # 在指定位置插入元素(覆盖)

12、Lindex words 2       # 获取列表中指定位置上元素

13、Ltrim words 2 4      # 删除列表中从2到4的之外元素

14、Lrem words 2 “A”     #删除2个元素值为”A”的元素

15、Blpop list1 list2 10    
#在指定的时间内10秒,从左到右扫描list1,list2 对第一个非空list做pop操作,如果找到非空完成一个pop则停止。如果全部为空,则在指定时间内等待,如果超时则停止。等待期间,如果其他客户在list放入元素,则会执行pop 后结束

16、Rpoplpush list1 list2 # 从list1头部移除元素到list2尾部
Set(集合)

Redis 的 Set 是 string 类型的无序集合。

  • 具有唯一、无序的集合特点

  • 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

  • 语法:

    sadd collname element1 element2 element3

    smembers collname

案例:

1、Sadd myset A B C D A           # 在myset集合放入ABCD四个元素,A重复,不能放入

2、Smembers myset                 # 读取myset 集合元素内容

3、Srem myset A                   # 移除myset集合中元素 A

4、Spop myset                     # 随机弹出一个元素

5、Scard myset                    # 元素个数

6、Smove set1 set2 A              # 从set1集合中移除元素A 到set2集合中

7、Sismember set1 A               # 判断set1集合中是否包含A元素

8、Sinter set1 set2               # 输出集合交集

9、Sinterstore dest set1 set2     # 计算set1 set2 交集存入dest集合

10、Sunion set1 set2              # 输出并集

11、Sunionstore dest set1 set2    # 并集  存入dest集合

12、Sdiff set1 set2               # 差集
zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。分数相当于权重。

zset的成员是唯一的,但分数(score)却可以重复。

zadd 命令: 添加元素到集合,元素在集合中存在则更新对应 score

语法:zadd key score member

案例:

1、Zadd mycoll 1 zhang     # 向 mycoll 集合中添加 zhang 分值为1

2、Zadd mycoll 3 wang      # 向 mycoll 集合中添加 wang 分值为3

3、Zadd mycoll 0 zhao      # 向 mycoll 集合中添加 zhao 分值为0

4、Zadd mycoll 1 lisi 2 liusan         # 一次性添加多个元素成员

5、Zrange mycoll 0 5                   # 取出从0到5的元素,默认无序显示

6、Zrangebyscores mycoll 0 5           # 按分数从小到大显示0到5元素

7、Zrangebyscores mycoll 0 5 limit 2   # 排序 显示0-5 中的前2个元素

8、Zrange mycoll 0 5 withscores        # 显示元素及其分数

9、zcount mycoll 2 5                   # 显示分数为2和5之间的元素个数

10、zrank mycoll  wang                 # 返回 元素 wang 在集合中的排名

11、zrevrange my 0 -1 withscores       # 降序排列显示全部

12、zrem  my AAA                       # 移除指定元素

13、zcard my                           # 获取指定集合中元素数量

14、zpopmax mycoll  1                  # 移除并返回1个分数最高的元素

15、zpopmin mycoll 1                   # 移除并返回1个分数最高的元素
特殊类型
Geospatial 地理位置

朋友的定位,周边的朋友,打车距离计算?

Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!

命令:GEOADDkey longitude latitude member [longitude latitude member]

将指定的地理空间位置(纬度、经度、名称)添加到指定的key

命令:GEOPOS key member [member ...]

key里返回所有给定位置元素的位置(经度和纬度)

命令:GEODIST key member1 member2 [unit]

返回两个给定位置之间的距离。

如果两个位置之间的其中一个不存在, 那么命令返回空值。

指定单位的参数 unit 必须是以下单位的其中一个:

  • m 表示单位为米。
  • km 表示单位为千米。
  • mi 表示单位为英里。
  • ft 表示单位为英尺。

命令:GEORADIUSkey longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]

以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

范围可以使用以下其中一个单位:m km mi ft

在给定以下可选项时, 命令会返回额外的信息:

  • WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
  • WITHCOORD: 将位置元素的经度和维度也一并返回。
  • WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
127.0.0.1:6379> geoadd china 116.40 39.90 beijing         ### 将 beijing 经纬度添加到 key:china 中
(integer) 1
127.0.0.1:6379> geoadd china 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd china 106.50 29.53 chongqi 114.05 22.52 shenzhen
(integer) 2
127.0.0.1:6379> geoadd china 120.16 30.24 hangzhou 108.96 34.26 xian ## 将 两个城市 经纬度添加到 key:china 中
(integer) 2
127.0.0.1:6379> geopos china beijing        #### 查看 beijing 的经纬度
1) 1) "116.39999896287918091"
   2) "39.90000009167092543"
127.0.0.1:6379> geopos china shanghai
1) 1) "121.47000163793563843"
   2) "31.22999903975783553"
127.0.0.1:6379> geodist china shanghai beijing  ##### 计算两个城市间距离  默认单位 m
"1067378.7564"
127.0.0.1:6379> geodist china shanghai beijing km    
"1067.3788"
127.0.0.1:6379> georadius china 116 39 1000 km    ### 找出以116,39为中心点,半径1000km 以内的城市有那几个
1) "beijing"
2) "shanghai"
3) "xian"
127.0.0.1:6379> georadius china 116 39 200 km
1) "beijing"
127.0.0.1:6379> georadius china 116 39 1000 km withdist  ### 捎带距离中心点的城市的具体距离
1) 1) "beijing"
   2) "105.8343"
2) 1) "shanghai"
   2) "996.7785"
3) 1) "xian"
   2) "819.7858"
127.0.0.1:6379> 
信息查询
INFO [section]

起始版本:1.0.0

INFO命令以一种易于理解和阅读的格式,返回关于Redis服务器的各种信息和统计数值。

通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

  • server: Redis服务器的一般信息
  • clients: 客户端的连接部分
  • memory: 内存消耗相关信息
  • persistence: RDB和AOF相关信息
  • stats: 一般统计
  • replication: 主/从复制信息
  • cpu: 统计CPU的消耗
  • commandstats: Redis命令统计
  • cluster: Redis集群信息
  • keyspace: 数据库的相关统计

它也可以采取以下值:

  • all: 返回所有信息
  • default: 值返回默认设置的信息

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

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

相关文章

Apache POl

介绍 Apache POl是一个处理Miscrosoft Ofice各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作,一般情况下,POI都是用于操作 Excel 文件。 Apache POl 的应用场景 1.银行网银系统导出交易…

python自动化管理和zabbix监控网络设备(无线AC控制瘦ap配置部分)

目录 前言 拓扑 一、AC-SW1 二、AC1 三、SW1-6 前言 具体原理和操作可以访问我的主页视频 白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 拓扑 一、AC-SW1 sys sysname AC-SW1 vlan batch 100 200 210 220 230 240 250stp region-configuration region-name huawe…

R语言数学建模(一)—— 基础知识

R语言数学建模(一)—— 基础知识 文章目录 R语言数学建模(一)—— 基础知识前言一、建模软件1.1 软件建模的基础1.2 模型的分类1.3 不同类型模型间的联系1.4 一些术语1.5 建模如何适应数据分析过程 二、Tidyverse基础2.1 tidyvers…

4. client-go 编程式交互

Kubernetes 系统使用 client-go 作为 Go 语言的官方编程式交互客户端库,提供对 Kubernetes API Server 服务的交互访问。Kubernetes 的源码中已经集成了 client-go 的源码,无须单独下载。client-go 源码路径为 vendor/k8s.io/client-go。 开发者经常使用…

详解Kotlin中run、with、let、also与apply的使用和区别

Kotlin作为一种现代、静态类型的编程语言,不仅提供了丰富的特性,还提供了极具表现力的函数:run, with, let, also, 和 apply。理解这些函数的不同之处对于编写高效、易于维护的代码至关重要。 函数对比表 函数对象引用返回值使用场景runthi…

带大家做一个,易上手的家常黄瓜炒肉片

我们先准备一个瘦肉 一条黄瓜 黄瓜切片备用 准备 四个左右干辣椒 一小点花椒 四五个八角 两瓣大蒜 大蒜去皮切片 猪肉切片 尽量切薄一点 起锅烧油 油烧热后 下肉翻炒 猪肉完全变色后 下肉 八角 花椒 干辣椒 一切翻炒两下 然后下黄瓜片 一起翻炒两下 然后 下入 一勺生…

国辰智企MES系统优化企业管理,让生产制造更高效

在制造业的舞台上,MES制造执行管理系统如同一位出色的导演,将生产过程中的各个场景巧妙地连接起来,演绎出一场场精彩的制造盛宴。让我们一同走进MES在制造业的具体应用场景,感受它带来的变革与创新。 在生产计划与调度的场景中&am…

一种新型的AlGaN/GaN HEMTs小信号建模与参数提取方法

来源:A new small-signal modeling and extraction methodin AlGaN/GaN HEMTs(SOLID-STATE ELECTRONICS 07年) 摘要 本文提出了一种新型的用于GaN HEMTs(氮化镓高电子迁移率晶体管)的小信号等效电路,包含2…

WEB服务器-Tomcat(黑马学习笔记)

简介 服务器概述 服务器硬件 ● 指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。 服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障…

while 语句及goto 语句以及用 goto 语句构成循环

1、while 语句用来实现“当型”循环结构。其一般形式如下: while(表达式)语句 当表达式为非0值时,执行while语句中的内嵌语句。其流程图见图6.1,其特点是先判断表达式,后执行语句. 图 6.1 图 6.2 例6.2 求 用传统流程图和N-S结构流程图表示算法,见图6.2(a)和图6…

什么是智能合约

前言:在介绍智能合约的前提下,需要先介绍一下区块链 一.什么是区块链 区块链实质上是一个去中心化、分布式的可进行交易的数据库或账本,具有下列典型特征: 去中心化:简单来说,在网络上一个或多个服务器瘫…

针对KZG承诺和高效laconic OT的extractable witness encryption

1. 引言 2024年以太坊基金会等成员论文 Extractable Witness Encryption for KZG Commitments and Efficient Laconic OT,开源代码实现见: https://github.com/rot256/research-we-kzg(Rust) 在该论文中,提供了一种…

【漏洞复现】大华智慧园区综合管理平台信息泄露漏洞

Nx01 产品简介 大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。该平台旨在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 Nx02 漏洞描述 大华智慧园区…

WPF 使用DrawingContext绘图,指定忽略一个区域,比如绘制同心圆扣除内圆范围

WPF 使用DrawingContext绘图,指定忽略一个区域,比如绘制同心圆扣除内圆范围 using System; using System.Windows; using System.Windows.Media;public class MyDrawingVisual : DrawingVisual {public void DrawEllipseWithHole(){using (DrawingCont…

kafka学习笔记三

第二篇 外部系统集成 Flume、Spark、Flink、SpringBoot 这些组件都可以作为kafka的生产者和消费者,在企业中非常常见。 Flume官网:Welcome to Apache Flume — Apache Flume Flink:Apache Flink_百度百科 Spark:Apache Spark…

微服务Springcloud智慧工地APP源码 AI人工智能识别 支持多工地使用

目录 一、现状描述 二、行业难点 APP端功能 一、项目人员 二、视频监控 三、危大工程 四、绿色施工 五、安全隐患 AI智能识别 环境监测 实名制管理 智慧监测 智慧工地全套解决方案 一、现状描述 建筑工程建设具有明显的生产规模大宗性与生产场所固定性的特点。建…

Alist访问主页显示空白解决方法

文章目录 问题记录问题探索和解决网络方案问题探究脚本内容查看 最终解决教程 问题记录 访问Alist主页显示空白,按F12打开开发人员工具 ,选择控制台,报错如下 index.75e31196.js:20 Uncaught TypeError: Cannot assign to read only property __symbo…

科技论文编写思路

科技论文编写思路 1.基本框架2.课题可行性评估1.研究目标和意义2.研究方法和技术3.可行性和可操作性4.风险和不确定性5.经济性和资源投入6.成果预期和评估 3.写作思路4.利用AI读论文5.实验流程 1.基本框架 IntroductionRelated worksMethodExperiment and analysisDiscussionC…

关于电商API接口数据采集,您需要的了解更多!

关于数据采集 随着企业业务数字化转型的推进,非数字原生企业对数据的感知和获取提出了新的要求和挑战,原有信息化平台的数据输出和人工录入能力已经远远满足不了企业内部组织在数字化下的运作需求。企业需要构建数据感知能力,采用现代化手段…

SQLlabs46关

如果我们直接用列去排序 ?sortusername/password username: passward 可以看到顺序是不同的,当然第一列第二列第三列也可以,基本上都是这个原理,那怎么去实现注入呢,我们主要是通过rand()去实现一个盲注或者报错注入…