Redis常见的数据类型及操作方式

一、通用命令

1)获取redis中所有key

keys *

2)删除一个或多个key

del key1 key2 ...

3)判断key是否存在

exists key

4)给key添加过期时间

expire key time

5)查看key剩余过期时间

ttl key

6)  查看redis内存情况

info memory

二、String类型

特点:值是 字符串

操作:

1)设置一个键值对

set key value

2)如果不存在value,则设置这个键值对

setnx key value

3)设置键值对的同时,指定过期时间(为expireTime秒

set key expireTime value 

4)通过key获取value

get key

5)批量设置键值对

mset key1 value1 key2 value2 ...

6)批量获取value

mget key1 key2 ...

7)令key对应的value值加1(value必须是整数

incr key

8)令key对应的value值加step(value必须是整数,step可以是负数

incrby key step

9)令key对应的value值加step(value可以是整数,也可以是浮点数,step可以是负数

incrbyfloat key step

10)令key对应的value值减1(value必须是整数

decr key

11)令key对应的value值减step(value必须是整数

decrby key step

三、List类型

特点:底层用 双向链表 实现,两端 添加、删除速度快

操作:

1)将系列元素一个一个向列表左侧插入

lpush key e1 e2 e3 ...

2)将最左侧元素弹出(弹出之后列表中就没有这个元素了

lpop key

3)将系列元素一个一个向列表右侧插入

rpush key e1 e2 e3 ...

4)将最右侧元素弹出(弹出之后列表中就没有这个元素了

rpop key

5)获取列表长度

llen key

6)设置指定下标的元素

lset key index element

7)获取指定下标的元素

lindex key index

8)获取指定下标范围(leftIndex<= i <=rightIndex)的数据,下标从0开始

lrange key leftIndex rightIndex

9)在指定的时间内(单位s)阻塞式等待一个列表的出现,如果有这个列表出现则删除,否则返回null

blpop key time

四、Set类型

特点:集合,对数据自动去重,即不存在重复数据

操作:

1)向集合中批量插入元素

sadd key e1 e2 ...

2)批量删除集合中的元素

srem key e1 e2 ...

3)获取集合中元素的数量

scard key

4)判断集合中是否包含指定元素

sismember key e

5)获取集合中的所有元素

smembers key

6)求批量集合的交集

sinter key1 key2 ...

7)求批量集合的并集

sunion key1 key2 ...

8)求第一个集合与其他集合的差集

sdiff key1 key2 ...

五、SortedSet类型

特点:有序集合,对数据自动去重,另外每一个数据都有与之对应的分数,用来作为排序的依据

操作:

1)向有序集合中批量添加数据并指定他们的分数

zadd key score1 value1 score2 value2 ...

2)批量删除元素

zrem key e1 e2 ...

3)获取元素分数

zscore key element

4)令元素的分数增加step

zincrby key step element

5)获取有序集合中元素的数量

zcard key

6)获取元素排名(按照分数从小到大排序,排名从0开始,0、1、2 . . .

zrank key element

7)获取有序集合中指定排名范围内的元素

zrange key minRank maxRank

8)获取指定分数范围内,元素的数量

zcount key minScore maxScore

9)获取有序集合中指定分数范围内的所有元素(按照分数从小到大排序

zrangebyscore key minScore maxScore

以上命令默认按照分数score进行升序排序,若需要 降序排序只需要在z后面加上rev 即可,如 zrank -> zrevrank

六、Hash类型

特点:数据为 field -> value 的映射,用法相当于Java中的HashMap,特别适合存储对象

操作:

1)向哈希集合(key)中添加一个field字段,值为value

hset key field value

2)获取哈希集合中的指定字段

hget key field

3)设置多个字段

hmset key field1 value1 field2 value2 ...

4)获取多个字段

hmget key field1 field2 ... 

5)获取哈希集合中所有的字段field与对应值value

hgetall key

6)如果哈希集合中不存在这个字段,则设置;否则,不设置

hsetnx key field value

7)获取哈希集合中所有的字段field

hkeys key

8)获取哈希集合中所有的值value

hvals key

9)令哈希集合中字段field对应的value值增加step

hincrby key field step

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

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

相关文章

RuoYi-Vue 全新 Pro 版本:清除url地址栏路由参数

问题&#xff1a;当前页面保存数据后&#xff0c;要清空当前地址栏的参数。 页面A开始跳转到B //页面A跳转this.$router.push({path: "你的path",query: {id: id,},}); 页面B开始接收数据 //页面B&#xff0c;在你需要的地方进行接收 this.$route.query.id 当点…

Python | Leetcode Python题解之第283题移动零

题目&#xff1a; 题解&#xff1a; class Solution:def moveZeroes(self, nums: List[int]) -> None:n len(nums)left right 0while right < n:if nums[right] ! 0:nums[left], nums[right] nums[right], nums[left]left 1right 1

SpringCloud之@FeignClient()注解的使用方式

FeignClient介绍 FeignClient 是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构&#xff0c;难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法&#xff0c;FeignClient()注解就是为了解决这个问题的…

汽车免拆诊断案例 | 2014 款上汽名爵 GT 车发动机无法起动

故障现象 一辆2014款上汽名爵GT车&#xff0c;搭载15S4G发动机&#xff0c;累计行驶里程约为18.4万km。该车因左前部发生碰撞事故进厂维修&#xff0c;更换损坏的部件后起动发动机&#xff0c;起动机运转有力&#xff0c;但无着机迹象。用故障检测仪检测&#xff0c;发现无法与…

初识c++:string类(2)

#本节主要讲解c&#xff1a;string类的模拟实现 全部代码的实现在最后面&#xff01;&#xff01;&#xff01;有需要的自己往下滑&#xff0c;自取&#xff01;&#xff01;&#xff01;1.string类的模拟实现 2.浅拷贝 3.深拷贝 目录 #本节主要讲解c&#xff1a;string类…

AI 辅助编程 Coding AI 辅助研发组织的技术蓝图

简简单单 Online zuozuo:欢迎商业合作 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 AI 辅助编程 Coding A…

VIsual Studio:为同一解决方案下多个项目分别指定不同的编译器

一、引言 如上图&#xff0c;我有一个解决方案【EtchDevice】&#xff0c;他包含两个&#xff08;甚至更多个&#xff09;子项目&#xff0c;分别是【DeviceRT】和【DeviceWin】&#xff0c;见名知意&#xff0c;我需要一个项目编译运行在RTOS上&#xff0c;譬如一个名叫INTime…

深入解析 Java 集合类:ArrayList、LinkedList、Vector

在 Java 编程中&#xff0c;集合类是非常重要的一部分。了解不同集合类之间的区别和适用场景&#xff0c;对于编写高效、健壮的代码至关重要。本文将深入探讨 ArrayList、LinkedList、Vector、Array 以及 Collection 和 Collections 之间的区别&#xff0c;帮助你在实际开发中做…

用重建大师进行空三解算时,引擎出现“不能访问目录或文件”怎么解决?

答&#xff1a;之前的工程还有在做的任务&#xff0c;可以更换任务目录重新提交空三试试。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0c;输入倾斜照片&#xff0c;激光点云&#xff0c;POS信息及像控点&#xff0c;输出高精度彩色网格模型…

数据中心服务器搬迁团队

数据中心机房服务器搬迁&#xff0c;需要专业的数据中心机房服务器提供技术保障服务。友力科技&#xff08;广州&#xff09;有限公司&#xff0c;作为华南地区主流的数据中心服务商&#xff0c;专业从事数据中心机房搬迁服务。 数据中心机房搬迁涉及设备数量多、系统复杂&…

数据结构: 链表回文结构/分割链表题解

目录 1.链表的回文结构 分析 代码 2.链表分割 ​编辑分析 代码 1.链表的回文结构 分析 这道题的难点是空间复杂度为O&#xff08;1&#xff09; 结合逆置链表找到链表的中间节点就可以解决了。 先找到链表的中间节点&#xff0c;再对中间节点的下一个节点进行逆置&…

什么是大型语言模型 (LLM)

本章探讨下&#xff0c;人工智能如何彻底改变我们理解和与语言互动的方式 大型语言模型 (LLM) 代表了人工智能的突破&#xff0c;它采用具有广泛参数的神经网络技术进行高级语言处理。 本文探讨了 LLM 的演变、架构、应用和挑战&#xff0c;重点关注其在自然语言处理 (NLP) 领…

三、建造者模式

文章目录 1 基本介绍2 案例2.1 Car 类2.2 CarBuilder 抽象类2.3 EconomyCarBuilder 类2.4 LuxuryCarBuilder 类2.5 CarDirector 类2.6 测试程序2.7 测试结果2.8 总结 3 各角色之间的关系3.1 角色3.1.1 Product ( 产品 )3.1.2 Builder ( 抽象建造者 )3.1.3 ConcreteBuilder ( 具…

SvelteKit - 1. 初始化项目

官方 doc - create a project 1、基本环境 &#xff08;下面是我这里的环境&#xff0c;亲测用 node 14 和 16 install 会报错&#xff09; node&#xff1a;20.9.0 npm&#xff1a;10.1.0 2、初始化项目 npm create sveltelatest my-app cd my-app npm install npm run de…

批量打断相交线——ArcGIS 解决方法

在数据处理&#xff0c;特别是地理空间数据处理或是任何涉及图形和线条分析的场景中&#xff0c;有时候需要把相交的线全部从交点打断一个常见的需求。这个过程对于后续的分析、编辑、或是可视化展现都至关重要&#xff0c;因为它可以确保每条线都是独立的&#xff0c;避免了因…

Vue Router基础

Router 的作用是在单页应用&#xff08;SPA&#xff09;中将浏览器的URL和用户看到的内容绑定起来。当用户在浏览不同页面时&#xff0c;URL会随之更新&#xff0c;但页面不需要从服务器重新加载。 1 Router 基础 RouterView RouterView 用于渲染当前URL路径对应的路由组件。…

pytest的安装和介绍和 Exit Code 含义

pytest 准备工作&#xff08;在cmd里&#xff09;&#xff1a; 1安装 pip install -U pytest2验证安装 pytest --version # 会展示当前已安装版本3其他的 显示可用的内置函数参数 pytest --fixtures通过命令行查看帮助信息及配置文件选项 pytest --help一、pytets框架中的…

【DVWA靶场】Web安全之(布尔值/延时型)SQL盲注(超详细教程)

SQL盲注原理 1.SQL盲注概念 SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。目…

【数据结构】AVL树(平衡二叉搜索树)

文章目录 1.AVL树1.1 AVL树的概念1.2 AVL树节点的定义1.3 AVL树的插入1.4 AVL树的旋转1.4.1 左单旋1.4.2 右单旋1.4.3 右左双旋1.4.4 左右双旋 1.5 AVL树的平衡验证1.6 AVL树的删除1.7 AVL树的性能 1.AVL树 在前面&#xff0c;我们已经介绍过了二叉搜索树&#xff0c;也了解到…

美摄科技企业级视频拍摄与编辑SDK解决方案

在数字化浪潮汹涌的今天&#xff0c;视频已成为企业传递信息、塑造品牌、连接用户不可或缺的强大媒介。为了帮助企业轻松驾驭这一视觉盛宴的制作过程&#xff0c;美摄科技凭借其在影视级非编技术领域的深厚积累&#xff0c;推出了面向企业的专业视频拍摄与编辑SDK解决方案&…