Redis的命令以及数据类型

news2024/11/24 18:39:34

1.Redis的通用命令

KEYS:查看符合模板的所有key,不建议在生产环境设备上使用

DEL:删除一个指定的key

EXISTS:判断key是否存在

TTL:查看一个KEY的剩余有效期

2.String类型

String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:

string:普通字符串

int:整数类型,可以做自增、自减操作

float:浮点类型,可以做自增、自减操作

注意:不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过512m.

String的常见命令有: SET:添加或者修改已经存在的一个String类型的键值对 GET:根据key获取String类型的value MSET:批量添加多个String类型的键值对 MGET:根据多个key获取多个String类型的value INCR:让一个整型的key自增1 INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2 INCRBYFLOAT:让一个浮点类型的数字自增并指定步长 SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行 SETEX:添加一个String类型的键值对,并且指定有效期

3.key的层级格式

key的结构

Redis的key有多个单词形成层级结构,多个单词之间用:隔开

如果Value是一个Java对象,例如一个User对象,则可以将对象序列化为JSON字符串后存储

 

4.Hash类型

Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD:

 

Hash的常见命令有: HSET key field value:添加或者修改hash类型key的field的值 HGET key field:获取一个hash类型key的field的值 HMSET:批量添加多个hash类型key的field的值 HMGET:批量获取多个hash类型key的field的值 HGETALL:获取一个hash类型的key中的所有的field和value HKEYS:获取一个hash类型的key中的所有的field HVALS:获取一个hash类型的key中的所有的value HINCRBY:让一个hash类型key的字段值自增并指定步长 HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

5.List类型

Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。

特征也与LinkedList类似: 有序 元素可以重复 插入和删除快 查询速度一般

常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等。

List的常见命令有: LPUSH key element ... :向列表左侧插入一个或多个元素 LPOP key:移除并返回列表左侧的第一个元素,没有则返回nil RPUSH key element ... :向列表右侧插入一个或多个元素 RPOP key:移除并返回列表右侧的第一个元素 LRANGE key star end:返回一段角标范围内的所有元素 BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil

 

6.set类型

Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征: 无序 元素不可重复 查找快 支持交集、并集、差集等功能

String的常见命令有: SADD key member ... :向set中添加一个或多个元素 SREM key member ... : 移除set中的指定元素 SCARD key: 返回set中元素的个数 SISMEMBER key member:判断一个元素是否存在于set中 SMEMBERS:获取set中的所有元素 SINTER key1 key2 ... :求key1与key2的交集

7.SortedSet类型

Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。 SortedSet具备下列特性: 可排序 元素不重复 查询速度快 因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能

SortedSet的常见命令有: ZADD key score member:添加一个或多个元素到sorted set ,如果已经存在则更新其score值 ZREM key member:删除sorted set中的一个指定元素 ZSCORE key member : 获取sorted set中的指定元素的score值 ZRANK key member:获取sorted set 中的指定元素的排名 ZCARD key:获取sorted set中的元素个数 ZCOUNT key min max:统计score值在给定范围内的所有元素的个数 ZINCRBY key increment member:让sorted set中的指定元素自增,步长为指定的increment值 ZRANGE key min max:按照score排序后,获取指定排名范围内的元素 ZRANGEBYSCORE key min max:按照score排序后,获取指定score范围内的元素 ZDIFF、ZINTER、ZUNION:求差集、交集、并集 注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可

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

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

相关文章

【Halcon】 Halcon 22.11 安装详细教程

文章目录 1安装2 获取许可证 license2.1 license下载2.2 激活 license放置在相应文件夹下 3 DLT 安装 1安装 1.解压安装包 2.打开运行 exe 程序 跳转至页面 点击“可获得的”,并安装 选择: AVAILABLE ->INSTALL 可获得的 ->安装 5. 等待安装 6…

jQuery -- 常用API(下)

4. jQuery属性操作 4.1 设置或获取元素固有属性值prop() 所谓元素固有属性就是元素本身自带的属性,比如 元素里面的 href ,比如 元素里面的 type。 获取属性语法:prop(属性)设置属性语法:prop(属性, 属性值) 4.2 设置或获取元…

掌握黑客技术:从Kali渗透测试开始

前言 Kali Linux是一种流行的渗透测试和网络安全工具,广泛用于测试和评估网络系统和应用程序的安全性。下面是一个简单的Kali Linux使用教程(Kali使用教程中需要学习的知识点),旨在帮助初学者了解如何使用Kali Linux进行渗透测试…

【计算机网络】网络分层结构

应用层 软件 传输层 TCP UDP协议 网络层 实现源主机到目标主机的传输 IP协议 可能会丢失,可能失序、可能错误 工作设备:路由器、防火墙 链路层 相邻两点的数据传输以帧为单位的数据。 工作设备:交换机 物理层 光信号 电信号 网络边…

15.JVM8为什么要增加元空间

JVM从永久代至元空间内存结构变化图 变化后的java8图 变化之前java7以及之前各代的图 看出变化了吗?堆和方法区连在了一起,但这并不能说堆和方法区是一起的,它们在逻辑上依旧是分开的。但在物理上来说,它们又是连续的一块内存。…

面了一个4年经验的测试工程师,自动化都不会也要15k,我也是醉了····

在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…

mxf文件格式详解

MXF是英文Material eXchange Format(素材交换格式)的缩语。MXF是SMPTE(美国电影与电视工程师学会)组织定义的一种专业音视频媒体文件格式。MXF主要应用于影视行业媒体制作、编辑、发行和存储等环节。SMPTE381M(把MPEG格…

如何在 Linux 中使用 GPG 加密和解密文件?

什么是 GPG? GPG(GNU Privacy Guard)是一种免费的开源加密软件,用于保护计算机数据的机密性和完整性。 它使用非对称加密算法,也称为公钥加密算法,其中数据被加密和解密时使用不同的密钥。每个用户都有一个…

【C++】类与对象(2)

【C】类与对象(2) 作者:爱写代码的刚子 时间:2023.5.4 本篇博客有关构造函数、析构函数、拷贝构造的知识,由于本篇博客可能比较详细,还剩一些内容没介绍,所以我将剩余的知识放在下一篇博客。 目…

探究Spring中Bean的线程安全性问题

前言 今天同事笑嘻嘻的凑过来,问了我一个问题:spring中的bean是线程安全的吗?。我内心一想肯定是安全的,毕竟这样多项目在用。但是转念一想,他那贱兮兮的表情,多半是在给我挖坑。于是我自信的回答他&#x…

如何在 DigitalOcean 中部署 ONLYOFFICE 文档

现在您可使用通过 DigitalOcean 市场提供的一键式应用在 DigitalOcean 云架构中轻松部署 Docker 版本的 ONLYOFFICE 文档。 一键式应用是一个包含所有必要预配置组件的镜像,可用于便捷地在运行有 Ubuntu OS 的 DigitalOcean 服务器上部署 ONLYOFFICE: D…

单元测试~

文章目录 单元测试Junit单元测试框架 单元测试 Junit单元测试框架

客户端无法连接docker启动的nacos-config服务

nacos踩坑记录: 基于镜像仓库教程 : https://hub.docker.com/r/nacos/nacos-server 在虚拟机启动了nacos服务,控制台可以正常打开.但是客户端无法正确连接.但是又没有明确的异常信息,只有一行warn日志:There is no content for NacosPropertySource from dataId[application.ym…

面试必问的【网络io】,1.5W字超全面总结

今天分享的基本上一面试就会被问的网络IO。文中涉及的代码部分不太重要,重要的是对这概念的理解。在看文章之前大家也可通过下面的思维导图看看自己是否能回答出来。 ​大纲 1 阻塞与非阻塞--开胃菜 阻塞 我们知道在调用某个函数的时候无非就是两种情况&#xff0…

1553B总线与FlexRay总线的协议转换

1553B总线与FlexRay总线的协议转换 背景技术: 某一1553B数字时分系统,存在响应型和周期型两种类型的指令传输。如果在1553B总线上传输周期型指令,不仅会造成BC->RT调度指令的大量重复,还存在BC设备和RT设备时间不同步的风险&a…

API 渗透测试从入门到精通系列文章(下)

导语:在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了 Postman 的代理,这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。 在本系列文章的前面一部分我们从使用 Postman 开始…

Unity 后处理(Post-Processing) -- (3)挑战:创建局部后处理Volume

为何使用局部Volume 在前面两节中,我们使用了一个Global Volume来应用后处理,其作用范围是整个场景。有些时候,我们需要实现当角色靠近某个地点后,进行一些特殊的后处理。这时我们就需要使用Local Volume来实现这个功能。 举个例子…

网络安全就业岗位与薪资

前段时间,知名机构麦可思研究院发布了《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,*信息安全位列第一。* 对于网络安全的发展与就业前景已经说过很多,它是收入较高的岗位之一,在转行领域也占据着…

大津算法ostu

大津算法是一种自适应图像二值化方法。 它以最大化类内距离或最小化类间距离为优化目标,将图像从某一亮度阈值分为前景/背景。 其基本原理示意图如下: 1.前言 为了深入介绍此算法,先说明一些背景知识。 1.1 数据可分性 数据可分性通常使…

【视频解读】动手学深度学习V2_01课程介绍

1.概述 这门课程主要介绍深度学习经典和最新模型。从最简单、最老的80年代的Lenet,讲到计算机视觉比较流行的Resnet,以及经典的时序模型LSTM以及最近比较流行的BERT。当然我们在讲深度学习时,我们离不开机器学习,机器学习的很多基础知识是我们需要的&…