【Redis】常用命令、各种数据结构及命令

news2024/9/20 20:37:18

目录

一、常见数据结构

二、常用命令

1、查询符合的所有key

2、删除key

3、判断key是否存在 

4、给key设置过期时间

5、查看key的剩余过期时间

三、不同数据类型的操作命令

1、String

1.set

2.get

3.mset

4.mget

5.incr

6.incrby

7.incrbyfloat

8.setnx

9.setex

2、Hash

1.hset

2.hget

3.hmset

4.hmget

5.hgetall

6.hkeys

7.hvals

8.hincrby

9.hsetnx

3、List

1.lpush

2.rpush

3.lpop

4.rpop

5.lrange

6.blpop与brpop

4、Set

1.sadd

2.srem

3.scard

4.sismembers

5.smembers

6.sinter

7.sdiff

7.sunion

5、SortedSet

1.zadd

2.zrem

3.zscore

4.zrank

5.zcard

6.zcount

7.zincrby

8.zrange

9.zrangebyscore

10.zdiff、zinter、zunion


一、常见数据结构

Redis是一种k-v类型的非关系型数据库,他的key是String类型的,但他的value却有着丰富的类型

他常见的数据类型有5种:String类型、Hash类型、List类型、Set类型、SortedSet类型。

String类型就是简单的字符串类型,但是在String类型里又分为字符串类型、整数类型、浮点数类型,Hash类型则于Java里的HashMap类似其value是一个无序的字典,List类型与Java中的LinkedList类似,支持正向、反向检索,Set类似于Java里的HashSet类型,SortedSet相比Set是可以排序的与Java中TreeSet相同但是底层的实现确是不同的

二、常用命令

1、查询符合的所有key

keys 匹配规则

类似MySQL的模糊查询,要查找所有的key则为keys *

  

2、删除key

del key1 key2 ……

可一次删除多个也可一次删除一个key

  

3、判断key是否存在 

exists key

判断key是否存在如果存在则返回1不存在则是0

  

4、给key设置过期时间

expire key time

可以给key设置指定存活时间,过了存活时间就被删除

  

5、查看key的剩余过期时间

ttl key

对key设置过期时间后我们就可以使用该命令来查看指定key的剩余时间

  

三、不同数据类型的操作命令

1、String

String类型是redis里最简单的存储类型。他的value是字符串,但又根据不同的格式将字符串分为字符串、整数、浮点数三种,其中整数与浮点数支持自增与自减。下面是他的常见命令

1.set

set value 

添加一个String类型的键值对,如果该键值对已存在就对其value进行修改

 

2.get

get key

根据其key获取指定key的value

  

3.mset

mset key1 value1 key2 value2 ……

批量添加多个String类型的键值对

  

4.mget

mget key1 key2

批量获取多个key对应的value

  

5.incr

incr key

让指定key对应value自增1

  

6.incrby

incrby key num

让指定key的value自增num

  

7.incrbyfloat

incrbyfloat key num

让一个浮点型value自增num

  

8.setnx

setnx key value

添加一个String类型的键值对如果该key存在就不会创建

  

9.setex

setex key time value

创建一个String类型键值对并指定存活时长

  

2、Hash

其中他的value是一个无序字典,他的value里面的一组一组的key-value

1.hset

hset key fileld value

添加一个hash类型的键值对

  

2.hget

hget key field

获取hash类型key里的value

  

3.hmset

hmest  key  field value field1 value1 ……

批量添加多个field-value

 

4.hmget

hmget key field1 field2……

批量获取key下多个field对应的value

  

5.hgetall

hgetall key

获取key下所有的field-value

 

6.hkeys

hkeys key

获取key下的所有field

  

7.hvals

hvals key

获取key下所有的field对应的value

  

8.hincrby

hincrby key field num

让key下的field对应的value自增num

  

9.hsetnx

hsetnx key field value

添加一个key下对应的file-value如果field存在则不修改

  

3、List

该类型与Java里的LinkedList类型,它支持正向与反向检索

1.lpush

lpush key element

在list的左边添加一个element

  

2.rpush

rpush key element

在list的右边添加一个element

  

3.lpop

lpop key

移除并返回列表左边的第一个元素

  

4.rpop

rpop key

移除并返回列表右边的第一个元素

  

5.lrange

lrange key star end

返回一段角标内的所有元素

  

6.blpop与brpop

与lpop、rpop类似只不过当List里面没有元素的时候会阻塞等待直到有元素,这与阻塞队列类型

4、Set

与Java里面的hashSet类似,可以看作value为null的hash。他是无序的且不可重复查找快而且支持交集、并集、差集

1.sadd

sadd key member

向set中添加一个或多个元素

  

2.srem

srem key member

移除key里指定的元素

  

3.scard

scard key

返回key里的元素个数

  

4.sismembers

sismembers key member

判断元素是否在该set里

  

5.smembers

smembers key

获取set里面的元素

  

6.sinter

sinter key1 key2

求key1 set与key2 set的交集

7.sdiff

sdiff key1 key2

求key1 set与key2 set的差集

7.sunion

sunion key1 key2

求key1 set与key2 set的并集

5、SortedSet

可排序的结合,与Java里的TreeSet类型,SortedSet在插入时会带有一个score,会基于score进行排序

1.zadd

zadd key score member

添加一个或多个元素到SortedSet

  

2.zrem

zrem key member

删除set指定的元素

  

3.zscore

zscore key member

获取set里指定元素的score

  

4.zrank

zrank key member

获取set里指定元素的排名

 

 排名是以0开始的

5.zcard

zcard key

获取set里元素的个数

  

6.zcount

zcount key min max

统计set里score在min-max范围内的个数

  

7.zincrby

zincrby key num member

让set里指定元素自增num

  

8.zrange

zrange key min max

按score排序后获取指定排名范围内的元素

 

9.zrangebyscore

zrangebyscore key min max

按照score排序后获取指定score范围内的元素

10.zdiff、zinter、zunion

与Set相同获取两个集合的交并差集

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

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

相关文章

C++——内存分配与动态内存管理

文章目录💐专栏导读💐文章导读🌷C/C内存分布🌺牛刀小试🌺C语言动态内存管理🌷C动态内存管理🌺对于内置类型🌺对于自定义类型🌷operator new与operator delete函数&#x…

便携式明渠流量计有哪几种呢?

便携式明渠流量计有几种? 目前来说市面上是有两种,但最终的作用或者说是功能都是用来和明渠在线流量计做液位和流量比对的一种装置。 这两种有什么区别呢? 一种就是便携式明渠流量计磁致伸缩流量计,另一种就是便携式明渠超声波…

浅析EasyCVR基于B/S架构的技术特点与能力应用

EasyCVR基于云边端协同,可支持海量视频的轻量化接入与汇聚管理。平台兼容性强、拓展度高,可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能。 EasyCVR视频融合平台采用…

【MyBatis Plus】004 -- MyBatis Plus高级(AR、MP插件、自定义全局操作、自动填充、逻辑删除、枚举、代码生成器)

目录 1、ActiveRecord 1.1 开启AR之旅(根据主键 id 进行查询) 1.2 新增数据 1.3 更新操作 1.4 删除操作 1.5 根据条件查询 2、Oracle 主键 Sequence 2.1 部署Oracle环境 2.2 创建表以及序列 2.3 jdbc驱动包 2.4 修改application.properties 2.5 配置序列…

LC-1041 困于环中的机器人(模拟,快慢指针找环)

1041. 困于环中的机器人 难度中等148 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方。注意: 北方向 是y轴的正方向。南方向 是y轴的负方向。东方向 是x轴的正方向。西方向 是x轴的负方向。 机器人可以接受下列三条指令之一: "…

第一讲 初识Python

Python简介 Python(英式发音:/ˈpaɪθən/;美式发音:/ˈpaɪθɑːn/)是由荷兰人吉多范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编…

【Colab】Colab使用教程(跑本地文件)

文章目录前言一、上传本地文件二、Colaboratory使用1、连接2、调整文件3、运行文件三、未来可期前言 首先,自己想办法注册谷歌账号,本文不讲。 Colaboratory网址:https://colab.research.google.com/ 谷歌云端硬盘:https://dri…

【软件测试二】开发模型和测试模型,BUG概念篇

目录 1.软件的生命周期 2.瀑布模型 3.螺旋模型 4.增量,迭代 5.敏捷---scrum 1. 敏捷宣言 2.角色 6. 软件测试v模型 7.软件测试w模型 8.软件测试的生命周期 9.如何描述一个BUG 10.如何定义BUG的级别 11.BUG的生命周期 12.产生争执怎么办 1.软件的生命周期…

26岁转行网络安全,成功上岸安全开发!

前言 我是去年 9 月 22 日才正式学习网络安全的,之前在国营单位工作了 4 年,在长沙一个月工资只有 5000 块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。 而且国营单位的气氛是你干的多了&a…

【Fluent UDF】浮点溢出错误后初始化对UDF运行的影响、停止正在进行的计算后重载UDF再计算会产生的效果

一、初始化对UDF运行的影响 初始化只会初始化网格上的物理数据、在UDF中常用的实际时间flow-time(CURRENT_TIME)、迭代步数N_ITER、UDM中的数据(其实也就是网格物理数据)。 初始化之后,UDF程序中的静态变量不会再初始…

【牛客刷题专栏】0x22:JZ21 调整数组顺序使奇数位于偶数前面(一)(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

Java阶段二Day03

Java阶段二Day03 文章目录 Java阶段二Day03V5BirdBootApplicationClientHandlerHttpServletRequest V6BirdBootApplicationClientHandlerHttpServletRequest V7BirdBootApplicationClientHandlerHttpServletRequestHttpServletResponse V8BirdBootApplicationClientHandlerHttp…

【Unity入门】14.值类型和引用类型

【Unity入门】值类型和引用类型 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)值类型 (1)C#的值类型 1. 布尔类型(bool) 2. 字符类型&#x…

【软考备战·希赛网每日一练】2023年4月18日

文章目录 一、今日成绩二、错题总结第一题第二题第三题 三、知识查缺 题目及解析来源:2023年04月18日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: MTTF:平均无故障时间 MTTR:平均故障修复时间 可用性/可靠性MTTF…

一文入门Typrscript和Vue3

一、TypeScript快速上手 在TypeScript专栏已经详细介绍过TypeScript,在此总结一下TypeScript和Vue3的基础知识。 1. 初识 TypeScript 1.1 TypeScript 的介绍 TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,最终会被编译为JavaScrip…

Python轻量级Web框架Flask(9)——图书馆项目

1、项目要求: 创建一个项目,用来说明出版社,书籍和作者的关系。作者和书籍之间的关系:1对多(一本书由一个作者完成,一本书可以有多个创作者)出版社和书籍之间的关系:多对多&#xf…

day15 消息队列

目录 消息队列 消息队列的使用 发送消息 消息的接收 消息队列的控制 消息队列 概念: 消息队列是system V IPC对象的一种; 消息队列有消息队列ID来唯一标识; 消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等&a…

有介质的高斯定理详细证明(电偶极子模型)以及例题讲解

目录 静电场中的电介质 电极化强度的引入 电偶极子模型的计算 电介质极化过程 极化电荷引入 推导 各向同性和线性的电介质 例题 静电场中的电介质 电介质与导体的区别:所有的粒子被束缚在原子核周围(限制空间) 电介质分为两种 1.无…

OldWang带你了解MySQL(十)

文章目录 🔥MySQL事务🔥使用事务🔥事务的并发问题🔥MySQL的用户管理🔥MySQL分页查询 🔥MySQL事务 事务简介 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完…

【网络小知识】当我在浏览器url输入文本后的解析流程/http协议对比https协议

当我们在地址栏输入信息之后,我们会得到浏览器给我们一个返回的信息,那么这个信息怎么出来的?且看下文~~~ 目录 ⭐一、浏览器url解析流程⭐二、http协议对比https协议 ⭐一、浏览器url解析流程 在浏览器地址栏输入文本后,比如 “…