Redis数据库(二)——数据类型

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字 本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。 阅读详情

一、String数据类型

  • 概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

1、set / get / append / strlen

set key value  #存放数据
get key value  #获取数据
append key value   #Redis的append命令是往一个key追加value。如果没有key,则创建一个并且设置value
strlen key     #获取指定Key的字符长度

例:
append test "hello"
append test " world"
get test
set test 35123512
get test
strlen test

在这里插入图片描述
在这里插入图片描述

2、incr / decr / incrby / decrby

incr key	#该Key的值递增1
decr key 	#该Key的值递减1
incrby key increment	#增加指定的整数
decrby key increment    #减少指定的整数

例:
incr number
incr number
decr number
incrby number 5
decrby number 3
get number


set number hello
get number
incr number

在这里插入图片描述
在这里插入图片描述

3、getset

getset key value #获取计数器原有值的同时,并将其设置为新值,这两个操作原子性的同时完成

例:
set test2 5
get test2
getset test2 0
get test2

在这里插入图片描述

4、setex

setex key seconds value  #设置指定Key的过期时间为xx秒
ttl key     #查看键的剩余存活时间


例:	
setex test2 10 'hello'
ttl test2
get test2
等待10s
get test2
ttl test2
set test '3333'
ttl test

在这里插入图片描述

5、setnx

setnx key value #创建指定键,若该键存在则不执行,不存在则执行

例:
setnx test3 "zhangsan"
setnx test3 "lisi"
get test3

在这里插入图片描述

6、mset / mget / msetnx

mset key value		#批量设置键的值
mget key		    #批量获取键的值
msetnx key value	#批量设置键值,若有存在的键则不执行

例:
mset a1 111 a2 222
mget a1 a2
msetnx a3 333 a4 444
mget a3 a4
msetnx a4 555 a5 666
mget a4 a5

在这里插入图片描述

二、List数据类型

  • 概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

1、lpush / lpushx / lrange

lpush key value 	#该命令会创建该键及与其关联的List,之后在将参数中的values从左到右依次插入到表头
lpushx key value    #该命令仅当key存在时,将value值插入表头
lrange key start stop	#返回列表中指定区间内的元素,0表示第一个元素,1表示第二个元素

例:
lpush letter a b c d
lrange letter 0 -1
lrange letter 1 2
lpushx letter e
lrange letter 0 -1
lpushx letter2 e

在这里插入图片描述

在这里插入图片描述

2、lpop / llen

lpop key	#移除并返回第一个元素,从头开始
llen key	#查看列表中元素个数

在这里插入图片描述

3、lrem / lset / lindex / ltrim

lrem key count value	#从头部(left)向尾部(right)变量链表,删除2个值等于a的元素,返回值为实际删除的数量
lset key index value    #将索引值为xxx的元素值设置为新值xxx
lindex key index    	#获取索引值为xxx的元素值。
ltrim key start stop	#仅保留索引值xxx到xxx的元素

在这里插入图片描述

4、linsert

linsert key BEFORE|AFTER pivot value	#在键的xxx元素前|后插入新元素元素 

在这里插入图片描述
在这里插入图片描述

5、rpush / rpushx / rpop / rpoplpush

rpush key value		#将值从左往右依次插入到表尾
rpushx key value	#指定键存在时执行,否则不执行
rpop key		    #移除并返回键的第一个元素,从尾开始
rpoplpush source destination	#将键1尾部元素xxx弹出,同时再插入到键2的头部(原子性的完成这两步操作)

在这里插入图片描述
在这里插入图片描述

三、Hash数据类型(散列类型)

  • 概述:hash用于存储对象。可以采用这样的命名方式:对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。 如:存储 ID 为 2 的汽车对象。
    如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。

1、hset / hget / hdel / hexists / hlen / hsetnx

hset key field value     #给xxx键设置字段为xxx,值为xxx
hget key field		     #获取xxx键,字段为xxx的值
hdel key field		     #删除xxx键的xxx字段,成功返回1
hexists key field	     #判断xxx键中的xxx字段是否存在,存在返回1
hlen key		         #获取xxx键的字段数量
hsetnx key field value	 #给xxx键添加新字段,是否执行基于此字段是否存在,不管键是否存在,返回1表示执行成功

在这里插入图片描述

2、hincrby

hincrby key field increment		#给xxx键的xxx字段值加x

在这里插入图片描述

3、hmset / hmget / hgetall / hkeys / hvals

hmset key field value   #批量为xxx键创建字段和赋值
hmget key field		    #获取指定多个字段值
hgetall key		        #返回xxx键的所有字段及其值,是逐对列出的
hkeys key		        #仅获取xxx键中所有字段名
hvals key		        #仅获取xxx键中所有字段值

在这里插入图片描述

四、set数据类型(无序集合)

  • 概述:无序集合,元素类型为String类型,元素具有唯一性,不允许存在重复的成员。多个集合类型之间可以进行并集、交集和差集运算。

应用范围:

  • 可以使用Redis的Set数据类型跟踪一些唯一性数据,比如访问某一博客的唯一IP地址信息。对于此场景,我们仅需在每次访问该博客时将访问者的IP存入Redis中,Set数据类型会自动保证IP地址的唯一性。
  • 充分利用Set类型的服务端聚合操作方便、高效的特性,可以用于维护数据对象之间的关联关系。比如所有购买某一电子设备的客户ID被存储在一个指定的Set中,而购买另外一种电子产品的客户ID被存储在另外一个Set中,如果此时我们想获取有哪些客户同时购买了这两种商品时,Set的intersections命令就可以充分发挥它的方便和效率的优势了。

1、sadd / smembers / scard / sismember

sadd key member			#将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合
smembers key			#通过smembers命令查看插入的结果,输出的顺序与插入顺序无关
scard key			    #获取集合中成员的数量
sismember key member	#判断键中xxx成员是否存在,返回0表示不存在,1表示存在

在这里插入图片描述

2、spop / srem / srandmember / smove

spop key			             #随机的移除并返回键中的某一成员
srem key member1 member1 ...	 #从键中移出member成员,并返回移出成员个数
srandmember key		             #该命令随机的返回某一成员
smove source destination member  #将source的member成员移到destination,成功返回1,失败返回0

在这里插入图片描述

五、Sorted Set数据类型(zset、有序集合)

  • 概述:
    a、有序集合,元素类型为Sting,元素具有唯一性,不能重复。
    b、每个元素都会关联一个double类型的分数score(表示权重),可以通过权重的大小排序,元素的score可以相同。

应用范围:

  • 可以用于一个大型在线游戏的积分排行榜。每当玩家的分数发生变化时,可以执行ZADD命令更新玩家的分数,此后再通过ZRANGE命令获取积分TOP10的用户信息。当然我们也可以利用ZRANK命令通过username来获取玩家的排行信息。最后我们将组合使用ZRANGE和ZRANK命令快速的获取和某个玩家积分相近的其他用户的信息。
  • Sorted-Set类型还可用于构建索引数据。

1、zadd / zcard / zcount / zrem / zincrby / zscore / zrank

zadd key [NX|XX] [CH] [INCR] score member [score member ...]	#将一个或多个成员元素及其分数值加入到有序集当中
zrange key start stop [withscores]   #查看成员;加withscores可显示成员加分数
zcard key		                #获取键中成员的数量
zcount key min max		        #分数满足表达式x <= score <= x的成员的数量
zrem key member [member ...]	#删除成员xxx、xxx,返回实际删除成员的数量
zincrby key increment member	#成员xxx不存在,zincrby命令将添加该成员并假设其初始分数为0
zscore key member		        #获取成员xxx的分数
zrank key member		        #获取成员xxx的位置索引值

在这里插入图片描述

2、zrangebyscore / zremrangebyrank /zremrrangebyscore

zrangebyscore key min max		#获取分数满足表达式x <= score <= x的成员

zrangebyscore key -inf +inf limit 2 3
#-inf表示第一个成员(位置索引值最低的,即1),+inf表示最后一个成员(位置索引值最高的),
limit后面的参数用于限制返回成员的值,2表示从位置索引等于2的成员开始,取后3个成员。

zremrangebyrank key start stop	#删除位置索引满足表达式x <= rank <= x的成员。
zremrangebyscore key min max	#删除分数满足表达式x <= score <= x的成员,并返回实际删除的数量。

在这里插入图片描述

3、zrevrange / zrevrangebyscore / zrevrank

zrevrange key start stop [withscores]	#以位置索引从高到低的方式获取并返回此区间内的成员
zrevrangebyscore key max min	#获取分数满足表达式x >= score >= x 的成员,并以从高到底的顺序输出。
zrevrank key member	 		    #获取成员索引

在这里插入图片描述

小结

String数据类型查询数据:
get 
lrange

List数据类型查询数据:
lrange

Hash数据类型(散列类型)查询数据:
hmget:获取指定多个字段值
hgetall:返回xxx键的所有字段及其值,是逐对列出的
hkeys:仅获取xxx键中所有字段名
hvals:仅获取xxx键中所有字段值

set数据类型(无序集合)查询数据:
smembers:通过smembers命令查看插入的结果,输出的顺序与插入顺序无关

Sorted Set数据类型(zset、有序集合)查询数据:
zrange
ONNX Runtime C# YOLO全链路压测:从300ms到22ms的15个底层优化技巧 摘要:本文分享了工业质检场景下C#调用YOLOv8s ONNX模型的性能优化实战经验。原始单帧推理耗时300ms无法满足产线需求,通过全链路分析定位瓶颈(预处理85ms、推理180ms、后处理30ms)。重点优化措施包括:使用OpenCVSharp CUDA加速预处理(85ms→12ms),开启ONNX Runtime ALL级别图优化,选用TensorRT执行提供程序(180ms→22ms),以及优化内存管理和线程调度。最终实现单帧总耗时22ms±2ms,GPU利用率提升至85%,完整满足产线120块板/ 阅读详情

相关推荐

STM32H743 ADC多通道采样实战:CubeMX配置+DMA传输避坑指南

本文详细介绍了STM32H743 ADC多通道采样的实战配置,包括CubeMX参数设置、DMA传输优化及常见问题解决方案。重点解析了ADC模块的核心特性、多通道采样序列配置、Cache一致性处理等关键技术,帮助开发者高效实现稳定可靠的模拟信号采集系统。

weixin_29175469的博客 612

Redis数据库(二)——Redis数据类型

文章目录一、String类型1.1、set / get / append / strlen1.2 、incr / decr / incrby / decrby1.3、getset1.4、setex1.5、setnx1.6、mset / mget / msetnx二、List类型2.2、lpop / llen2.3、lrem / lset / lindex / ltrim2.4、linsert2.5、rpush / rpushx / rpop / rpoplpush三、Hash类型3.1、hset / hge

潇潇雨歇 344

ABAP动态填充Word模板:基于cl_docx_document的XML替换方案

本文详细介绍了ABAP中基于cl_docx_document类的动态Word模板填充方案。该方案通过直接操作DOCX文件的XML核心,完美解决了传统OLE/DOI方法在格式保真、性能和后台运行方面的痛点,是实现复杂、批量Word文档生成的优雅解决方案。

gpt4scribbler的博客 526

Redis数据库(二):Redis数据库的五种基本数据类型

value除了是字符串也可以是数字!计数器统计多单位的数量对象缓存存储。

weixin_47040031的博客 1477

STM32鱼塘水质监测系统设计与实现

物联网技术在农业领域的应用正逐步深入,其中传感器网络作为关键基础设施,通过实时数据采集与传输实现环境监测。基于STM32微控制器的嵌入式系统因其高性能和低功耗特性,成为物联网终端设备的理想选择。该系统通过DS18B20水温传感器、PH传感器和浊度传感器组成的多参数检测网络,配合4G通信模块实现水质数据的远程监控。在农业物联网场景中,这种解决方案不仅大幅降低了传统人工检测的成本,更能通过实时预警有效预防养殖损失。本文介绍的鱼塘水质监测系统正是这一技术的典型应用,展示了如何通过STM32和常见传感器构建高性价比

weixin_42173218的博客 621

绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?

绝缘电阻是电气设备和电气线路最基本的绝缘指标。对于低压电气装置的交接试验,常温下电动机、配电设备和配电线路的绝缘电阻不应低于0.5MΩ(对于运行中的设备和线路,绝缘电阻不应低于1MΩ/kV)。 绝缘电阻的正确测量方法 现代生活日新月异,人们一刻也离不开电。在用电过程中就存在着用电安全问题,在电器设备中,例如电机、电缆、家用电器等。 影响因素 环境温湿度 一般材料的绝缘电阻值随环境温湿度的升高而减小。相对而言,表面电阻(率)对环境湿度比较敏感,而体电阻(率)则对温度较为敏感。 湿度增加,表面泄漏增大,导体电导

dianqicyuyan的博客 2万+

Redis数据库系列(二)、Redis数据类型

第二章、Redis数据类型 Redis 通常被称为数据结构服务器,因为值(value)可以是 字符串(String)、 哈希(Hash)、 列表(list)、 集合(sets)、 有序集合(sorted sets) 等五中常用类型。 2.1、Redis数据存储格式 redis自身是一个Map结构,其中所有的数据都是采用key:value的形式存储 数据类型指的是存储的数据的类型,也就是value部分的类型,key部分永远都是字符串 2.2、String类型及基本操作 存储的数据:单个数据,最简单的

一宿君 324

Arduino四足开源机器猫-Opencat(导航贴)

本内容由我和小伙伴共同编写,未经授权,谢绝转载! 1.项目介绍 2.组装调试教程 (一)Opencat-F (1)资料地址(包含程序代码&&3D打印图纸): 链接:https://pan.baidu.com/s/1AcVA5jSiOSzRKqEQAomrTA 提取码:szfx (2) (二)Opencat-B (1)组装调试 (2)组装调试注意事项 (3)添加新技能 3.编程 ...

qqliuzhitong的博客 4172

Redis数据库之(二)数据类型

二、数据类型 2.1 数据存储类型介绍 redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储; 数据类型指的是存储的数据的类型,也就是 value部分的类型,key部分永远都是字符串。 2.2 string string 类型 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型; 存储数据的格式:一个存储空间保存一个数据; 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用。 string 类型数据的

qq_50994235的博客 239

RK3576+IMX415 MIPI摄像头零拷贝显示系统

MIPI CSI-2是嵌入式视觉系统中主流的高速图像传感器接口标准,其核心价值在于低延迟、高带宽与硬件级DMA直通能力。基于V4L2子系统与DRM/KMS驱动栈,可构建从传感器RAW数据到帧缓冲区的零拷贝通路,显著降低CPU负载并提升实时性。该技术广泛应用于工业检测、边缘AI推理前数据接入及多路同步采集等场景。本文以Rockchip RK3576 SoC和索尼IMX415传感器为典型组合,详解MIPI物理层适配、内核驱动集成、GStreamer零拷贝管道搭建及systemd服务化部署,覆盖从硬件信号完整性到

weixin_36047538的博客 217

【KingSCADA】如何创建新应用

KingSCADA3.8集成开发环境是基于工程的应用管理模式,实现了对多个应用的集中开发和管理的功能,一个工程可以同时管理多个应用,即在KingSCADA3.8工程设计器中可以同时对多个应用进行开发,应用之间可以实现相互复制、粘贴等功能,大大提高了开发效率。(此处感觉和VS类似)使用KingSCADA3.8开发的系统称为应用,一个完整的应用一般包含以下部分或全部内容:IO设备、IO采集点、图形界面、动画链接、趋势曲线、报警和事件、历史记录、数据库、Web Server等部分。

做有价值的事,积累有价值的笔记! 3108

数据库Redis(二):基本数据类型

主要介绍Redis中的五大基本数据类型:String、List、Set、Hash、Zset,以及各自常用的操作命令

JiaHao的博客 476

DeFi核心协议代码解析

本文解析了DeFi两大核心协议Uniswap V2和Compound的智能合约架构与关键代码。Uniswap V2采用恒定乘积公式(x*y=k)实现自动做市,核心合约包括Factory、Pair和Router,具备流动性铸造、代币兑换和TWAP预言机功能。Compound借贷协议通过cToken合约管理存款和借款,采用动态利率模型和抵押率机制,包含资金利用率计算、清算触发等核心算法。两协议均采用模块化设计,通过智能合约实现去中心化金融服务的核心逻辑。

闲人编程的博客 935

redis数据库二:数据类型

本篇内容主要介绍redis的五种数据类型的简单操作,刚入门的小伙伴可以来看看,这些都是我自己实现的,应该有帮助哦。

Quiet_han的博客 201

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Redis(二)数据库操作、常见数据类型讲解与应用场景解读

目前市场主流数据存储都是使用关系型数据库。每次操作关系型数据库都是I/O操作,I/O操作是主要影响程序性能的原因之一,连接、关闭数据库都是消耗性能的过程.因此,尽量减少对数据库的操作,能明显提升程序运行效率。关系型数据库索引都是树状数据结构,当数据量超大时,树的深度就会越深,查询性能就会降低。针对关系型数据库的缺点,市面上就有有了NoSQL(Not Only SQL)常见的NoSQL有memcached:键值对、内存型数据库。redis:与memcached类似,且具有持久化能力。HBase。

有勇气的牛排博客 779

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Redis、MySQL、hive、hbase的区别以及数据库及数据仓库的比较

redis:分布式缓存,强调缓存,基于内存 传统数据库:注重关系,注重事务性 hbase:列式数据库,字典查询,稀疏性存储,无法做关系数据库的主外键,用于存储海量数据,底层基于hdfs hive:数据仓库工具,底层是mapreduce。不是数据库,不能用来做用户的交互存储 HBase和Redis都是基于Key、Value的数据库。 ...

qq_39682761的博客 7458

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Redis】Redis 数据类型与结构—(二)

String 类型的底层实现只有一种数据结构,简单动态字符串,而 List、Hash、Set 和 Sorted Set 这四种数据类型,都有两种底层实现结构,这四种类型称为集合类型,它们的特点是一个键对应了一个集合的数据。对于集合类型来说,找到哈希桶后,增删改查都是对集合操作的,不同的集合类型时间复杂度是不一样的。Redis 会对哈希表做 rehash 操作来解决这个问题,也就是增加现有的哈希桶数量,让逐渐增多的 entry 元素能在更多的桶之间分散保存,减少单个桶中的元素数量,从而减少单个桶中的冲突。

smile_sundays的博客 1819

Redis数据类型

Redis介绍 RedisObject的结构 1. type 2. enconding 3. lru 4. refcount 5. *prt Redis源码结构 1. 基本数据结构 2. Redis数据类型的底层实现 3. Redis数据库的实现 4. Redis服务端和客户端实现 5. 其他 Redis数据类型 String List Set Zset Hash Stream Bloom Filter Bitmap HyperLogLog Geospatial 使用场景 使用示例

骑个小蜗牛的博客 5158

内存数据库Redis讲解

一、Redis简介 redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型,类似于Java中的map)。Redis基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构存储服务务器。 二、Redis的特性 多种数据类型存储: 1、字符串类型 2、散列类型 3、列表类型

武天旭的博客 8155

什么是redis服务+redis服务数据类型有哪些??

什么是redis服务+redis服务数据类型有哪些??

jiang0615csdn的博客 2216

Redis redis五种数据类型和使用场景

一、redis基本基本介绍 1、 redis解决分布式环境下缓存不同步 让缓存集中处理(大家使用同一个缓存服务),我们需要一个类似于MYSQL这样可以通过服务来提供第三方的缓存工具(缓存服务器);流行的第三方缓存服务器:memcache/redis 2、REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统(...

m0_38068812的博客 8740

Redis中一些其他的数据类型&渐进式遍历

我们之前说了redis中的五个类型 分别是:String List Hash Set ZSet,那除了这五个redis文档中还给我们提供了一些其他的数据类型。

huapiaoy的博客 1418

【Redis】Redis数据库及五种数据类型图解

目录 Redis数据库: 是什么? 优势? 数据类型(五种): 1.字符串: 2.hash类型: 3.list类型: 4.set类型: 5.zset类型: Redis数据库: 是什么? 一类新出现的,非关系型的,不支持SQL语法的,不支持事物,||  开源,C语言编写,支持网络,基于内存,可持久化,以Key-Value形式存储数据,的NoSql数据库。 优势? 性能极高...

高岩 is me 4312

Redis数据类型、Redis多个数据库

参考链接:http://www.runoob.com/redis/redis-data-types.html 一、Redis支持五种数据类型 string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者...

预立数据科技 1859

【Redis二】Redis数据类型

鸡蛋,从外打破是食物,从内打破是生命,人生也是如此,从外打破是压力,从内打破是成长

F12138X的博客 1054

每天认识一个组件:Redis

Redis 是一个以内存为主要数据存储介质的数据结构服务器。它既可以用作缓存,也可以承担计数器、排行榜、会话存储、分布式协调、消息传递和实时数据处理等职责。

weixin_47983718的博客 311
上一篇: Redis数据库(一)——介绍、配置与优化
下一篇: Redis数据库(三)——(主从复制、哨兵模式、集群)
IHBOS
博客等级 码龄6年 112粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值