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
相关文章:

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内存…...

谷粒商城实战笔记-55-商品服务-API-三级分类-修改-拖拽数据收集
文章目录 一,拖拽后结点的parentCid的更新二,拖拽后结点的父节点下所有结点的sort排序属性的变化更新排序的逻辑代码分析 三,拖拽后结点及其子节点catLevel的变化判断是否需要更新 catLevel获取拖动后的新节点 更新 catLevel完整代码 这一节的…...

AI绘画入门实践|Midjourney:使用 --seed 制作情侣头像与漫画
在 Midjourney 中,seed 是指一个种子,用于生成图像时的起点或基础。 使用格式:--seed 获取的seed值 获取 seed 值 使用 seed 生成图像 a cute boys avatar, background with blue sky and white cloud, Ghibli Studio style, Hayao Miyazaki…...

笔记:Enum中FlagsAttribute特性的用法
一、目的:分享Enum中FlagsAttribute特性的用法 在C#中,Enum(枚举)类型可以使用[Flags]属性来表示一个枚举可以存储多个值。这是通过按位运算符(如|(或)和&(与)&#…...

QWidget如何切换ui
在Qt中,QWidget及其子类用于构建图形用户界面。如果你想要在不同的UI之间切换,可以使用QStackedWidget,它可以管理一组QWidget,并且每次只显示其中一个。 以下是一个简单的例子,展示如何使用QStackedWidget切换UI&…...

web网站组成
web网站由四部分组成:浏览器 前端服务器 后端服务器 数据库服务器 流程: 1.浏览器输入网站后,向前端服务器发送请求,前端服务器响应,静态的数据给浏览器。 2.前端代码中script中有url,这个是向后台发送请求的网…...

带您详细了解安全漏洞的产生和防护
什么是漏洞? 漏洞是 IT、网络、云、Web 或移动应用程序系统中的弱点或缺陷,可能使其容易受到成功的外部攻击。攻击者经常试图寻找网络安全中的各种类型的漏洞来组合和利用系统。 一些最常见的漏洞: 1.SQL注入 注入诸如 SQL 查询之类的小代…...

【接口测试】params传参与body传参区别
文章目录 一.params传参二.body传参三.两者区别说明 一.params传参 params传参一般用于get请求 params传参时,参数会附于URL后面以问号形式展示。 示例: http://ip地址:端口号/login?usernamexm&pwd111二.body传参 body传参一般用于post请求 body传参时需…...

【docker】部署证书过期监控系统mouday/domain-admin
证书过期了再去部署证书容易被骂,就找了一个开源的证书过期系统来部署一下 过程 官方文档:https://domain-admin.readthedocs.io/zh-cn/latest/manual/install.html#docker 直接下载镜像是超时的,切换一下文档推荐的镜像源 新建docker配置…...

高级java每日一道面试题-2024年7月17日
面试官: java中都有哪些引用类型? 我回答: 强引用(Strong Reference) 描述:这是最常见和最直观的引用类型,我们通常在代码中创建的对象引用就是强引用。例如,Object obj new Object();。只要强引用存在,…...

css中如何清除浮动
在CSS中,可以使用clear:both属性来清除浮动。以下是几种常见的清除浮动的方法: 使用clearfix类:在CSS中定义一个clearfix类,并将其应用于需要清除浮动的父元素上。 .clearfix::after {content: "";display: table;cle…...

【网络】tcp_socket
tcp_socket 一、tcp_server与udp_server一样的部分二、listen接口(监听)三、accept接收套接字1、为什么还要多一个套接字(明明已经有了个socket套接字文件了,为什么要多一个accept套接字文件?)2、底层拿到新…...

Live555源码阅读笔记:哈希表的实现
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

vue3创建vite项目
一、创建vue3 vite项目: 命令行创建:npm create vitelatest vue3-tdly-demo -- --template vue (1)先进入项目文件夹,cd vue3-tdly-demo (2)之后执行, npm install (3)最后运行,npm run dev 将main.js文件内容改成…...

Maven概述
目录 1.Maven简介 2.Maven开发环境搭建 2.1下载Maven服务器 2.2安装,配置Maven 1.配置本地仓库地址 2.配置阿里云镜像地址 2.3在idea中配置maven 2.4在idea中创建maven项目 3.pom.xml配置 1.项目基本信息 2.依赖信息 3.构建信息 4.Maven命令 5.打包Jav…...

Easyu中datagrid点击时获取所在行的数据
问题 双击单元格时,获取该行的记录内容 $(#list).datagrid({method: post,url: user/list,queryParams:{sex : "f",age : "18~25"},fitColumns: true,pageList: [ 5, 10, 15, 20 ],singleSelect: false,pagination: true,fit: true,rownumber…...

java项目中添加SDK项目作为依赖使用(无需上传Maven)
需求: 当需要多次调用某个函数或算法时,不想每次调用接口都自己编写,可以将该项目打包,以添加依赖的方式实现调用 适用于: 无需上线的项目,仅公司或团队内部使用的项目 操作步骤: 以下面这…...

区块链和数据要素融合的价值及应用
一、数据要素面临的关键障碍 在构建数据要素基石的过程中,首要任务是明确并解决产权架构的难题,特别是使用权的确立与流转机制的顺畅,此乃数字经济蓬勃发展的命脉所在。一个高效的数据流转体系对于激发数据潜能、加速经济发展及优化数据资源…...

以太坊的可扩展性危机:探索执行层的瓶颈
导读:以太坊执行层承担着交易处理、智能合约执行以及保持一致和安全状态的维护等工作。Fuel Labs 撰文解析了以太坊执行层的工作原理,及其在可扩展性方面的发展瓶颈和影响。 Fuel Labs: 执行是指在区块链上执行交易和执行状态更改所需的计算。此计算通常…...

静态解析activiti文本,不入库操作流程
说明: activiti本身状态存库,导致效率太低,把中间状态封装成一个载荷类,返回给上游,下次请求时给带着载荷类即可。 1.pom依赖 <dependency><groupId>net.sf.json-lib</groupId><artifactId>js…...

100个python的基本语法知识【上】
0. 变量和赋值: x 5 name “John” 1. 数据类型: 整数(int) 浮点数(float) 字符串(str) 布尔值(bool) 2. 注释: # 这是单行注释 ""…...

Python从0到100(四十四):读取数据库数据
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...

ZLMRTCClient配置说明与用法(含示例)
webRTC播放视频 后面在项目中会用到通过推拉播放视频流的技术,所以最近预研了一下webRTC 首先需要引入封装好的webRTC客户端的js文件ZLMRTCClient.js 下面是地址需要的自行下载 http://my.zsyou.top/2024/ZLMRTCClient.js 配置说明 new ZLMRTCClient.Endpoint…...

nginx代理服务配置,基于http协议-Linux(CentOS)
基于http协议的nginx代理服务 1. 打开 Nginx 虚拟机80端口配置文件2. 添加代理配置3. 重启nginx服务 nginx代理缓存配置 1. 打开 Nginx 虚拟机80端口配置文件 Nginx 的默认80端口虚拟机配置文件通常位于/etc/nginx/conf.d/default.conf。 vim /etc/nginx/conf.d/default.con…...

Photos框架 - 自定义媒体资源选择器(数据部分)
引言 在iOS开发中,系统已经为我们提供了多种便捷的媒体资源选择方式,如UIImagePickerController和PHPickerViewController。这些方式不仅使用方便、界面友好,而且我们完全不需要担心性能和稳定性问题,因为它们是由系统提供的&…...

Spring Boot + Spring Cloud 入门
运行配置 java -jar spring-boot-config-0.0.1-SNAPSHOT.jar --spring.profiles.activetest --my1.age32 --debugtrue "D:\Program Files\Redis\redis-server.exe" D:\Program Files\Redis\redis.windows.conf "D:\Program Files\Redis\redis-cli.exe" &q…...

怎么使用动态IP地址上网
如何设置动态IP地址上网? 设置动态IP地址上网的步骤如下: 一、了解动态IP地址 动态IP地址是由网络服务提供商(ISP)动态分配给用户的IP地址,它会根据用户的需求和网络情况实时改变。相比于静态IP地址,动态…...

【源码+文档+调试讲解】智慧物流小程序的设计与实现
摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱,出错率高,信息安全…...

QT:控件圆角设置、固定窗口大小
实现控件圆角度设置//使用的是setStyleSheet方法 //改变的控件是QTextEdit,如果你想改变其他控件,将QTextEdit进行更换 this->setStyleSheet("QTextEdit{background-color:#FFFFFF;border-top-left-radius:15px;border-top-right-radius:15px;bo…...

【JavaScript】深入理解 `let`、`var` 和 `const`
文章目录 一、var 的声明与特点二、let 的声明与特点三、const 的声明与特点四、let、var 和 const 的对比五、实战示例六、最佳实践 在 JavaScript 中,变量声明是编程的基础,而 let、var 和 const 是三种常用的变量声明方式。本文将详细介绍这三种变量声…...