redis数据存储类型介绍

redis的五种数据类型 (1)Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网络、科技与内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。(2)Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sorted set --有序集合)和hash。这些数据结构都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。 阅读详情

redis数据存储类型

 redis数据存储类型分为5类,分别是:String、Hash、List、Set、Sorted_set

redis数据存储格式

 redis自身是一个Map其中所有的数据都是采用key:value的形式
 数据类型指的是存储的数据的类型,也就是value部分的类型,key部分永远都是字符串。

1.String类型

  1. 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型。
  2. 存储数据的格式:一个存储空间保存一个数据。
  3. 存储的内容:通常使用字符串,如果字符串以整数的形式展开,可以作为数字操作使用。

String常用命令

1.删除数据:del key
注意:如果成功返回Integer类型的1,如果失败返回Integer类型的0。
2.添加/修改多个:mset key1 value1 key2 value2 ...
3.获取多个:mget key1 key2 ...
4.获取数据字符串个数(长度):strlen key
5.追加信息到原始信息后部:append key value
6.设置数值数据追加指定范围的值(increment(值可正可负))
incr key //值加一
incrby key increment //自设增加值
incrbyfloat key increment //可以加小数
7.设置数值数据减少指定范围的值
decr key //值减一
decrby key increment //自设减少值

String类型数据操作的注意事项

  1. 数据操作不成功的反馈与数据正常操作之间的差异
    a.表示运行结果是否成功
    (Integer)0 false 失败
    (Integer)1 true 成功
    b.表示运算结果值
    (Integer)3 3 3个
    (Integer)1 1 1个

  2. 数据未获取到用nil表示等同于null

  3. 数值计算最大范围(Java中的long的最大值)正负9223372036854775807

  4. key的设值约定

表名主键名主键值字段名
eg1orderid29437598name
eg2equipid390472987type
eg3newsid202004150itile

2.Hash类型

  1. 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
  2. 需要的存储结构:一个存储空间保存多个键值对数据
1.添加/修改数据
单个:hset key field value
多个:hmset key field1 value1 field2 value2
2.获取数据
单个:hget key field 或 hgetall key
多个:hmget key field1 field2 
3.删除
hdel key field1 field2
4.获取Hash表中字段的数量
hlen key
5.获取Hash表中是否存在指定字段
hexists key field
6.获取Hash表中所有的字段名或字段值
hkeys key
hvals key
7.设置指定字段的数值数据增加指定范围的值
hincrby key field increment
hincrbyfloat key field increment

Hash类型数据操作的注意事项

  1. hash类型下的value只能存储字符串,不允许存储其它数据类型,不存在嵌套现象,如果数据未获取到,对应的值为nil
  2. 每个hash可以存储2的32次方到1个键值对
  3. hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash设计初衷不是为了存储大量对象而设计的,切记不可滥用更不可以将hash作为对象列表使用
  4. hgetall操作可以获取全部属性,如果内部field过多,遍历整体数据的效率就会很低,有可能成为数据访问的瓶颈

3.List类型

  1. 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
  2. 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
  3. list类型:保存多个数据,底层使用双向链表存储结构实现
1.添加/修改数据
从左添加:lpush key value1 [value2]
从右添加:rpush key value [value2]
2.获取数据
lrange key start stop
lindex key index
llen key //返回个数
3.获取并移除数据
lpop key
rpop key
4.移除指定数据
lrem key count value
注:左存左取,取到的值和存进去的值的顺序相反
右存左取与存进去的值的顺序相同

List类型数据操作注意事项

  1. list中保存的数据都是String类型的,数据总量是有限的,最多2的32次方到1个元素(4294967295)
  2. list具有索引的概念,但是操作数据时通常以队列的形式进入队出队操作,或以栈的形式进入按出栈操作
  3. 获取全部数据操作结束索引设置为-1
  4. list可以对数据进行分页操作,通常第一页的信息来自于list,第二次以及更多信息通过数据库的形式加载

Set类型

  1. 新的存储需求:存储大量的数据在查询方面提供更高的效率
  2. 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询
  3. set类型与hash存储结构完全相同,仅存储键,不存储值(nil)并且值是不允许重复的
1.添加数据
sadd key member1 [member2]
2.获取全部数据
smembers key
3.获取集合数据总量
scard key
4.判断集合中是否包含指定数据
sismember key member
5.随机获取集合中指定数量的数据
srandmember key [count]
6.随机获取集合中的某个数据并将该数据移出集合
spop key
7.求二个集合的交,并,差集
交:sinter key1 [key2]
并:sunion key1 [key2]
差:sdiff key1 [key2]
8.求二个集合的交,并,差集合并存储到指定集合中
交:sinterstore destindtion key1 [key2]
并:sunionstore destination key1 [key2]
差:sdiffstore destination key1 [key2]
9.将指定数据从原始集合中移动到目标集合中
smove source destination member

Set类型数据操作的注意事项

  1. set类型不允许数据重复,如果添加的数据在set中已经存在,将只保留一份
  2. set虽然与hash的存储相同,但是无法使用hash中存储的空间

Sorted_set类型

  1. 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
  2. 需要的存储结构:新的存储模型,可以保存可排序的数据
  3. sorted——set类型在set的存储结构基础上添加了可排序字段
1.添加数据
zadd key score1 member1 [score2 member2]
2.获取全部数据
正向:zrange key start stop [withscores]
反向:zrevrange key start stop [withscores]
3.删除数据
zrem key member1 [member2 ...]
4.按条件获取数据
正向:zrangebyscores key min max [withscores] [limit]
反向:zrevrangebyscores key max min [withscores]
5.条件删除数据:
zremrangebyrank key start stop
zremrangbyscores key min max
注意:
min与max用与限定搜索查询的条件
start与stop用户限定查询范围,作用与索引表示开始和结束索引
offset与count用户限定查询范围作用与查询结果表示开始位置和数据总量
6.获取集合数据总量
zcard key
zcount key min max
7.集合交,并操作
交:zinterstore destination numkeys key1 [key2]
并:zunionstore destination numkeys key1 [key2]

Sorted_set类型数据操作的注意事项

  1. score保存的数据存储空间是64位,如果是整数范围是负9007199254740991到9007199254740992
  2. score保存的数据也可以是双精度的double值,基于双进度浮点数的特征,可能会丢失精度使用时候慎重
  3. sorted_set底层存储还是基于set结构的,因此数据不能重复,如果重复添加相同的数据,score值将被反复覆盖,保留最后一次修改的结果
FreeRTOS:卡在configASSERT( ( pxQueue ) )问题的解决 FreeRTOS卡在configASSERT( ( pxQueue ) )问题的解决 阅读详情

相关推荐

Android手机免root玩转Kali NetHunter:Termux保姆级安装指南(附Kex VNC配置)

本文提供了一份详细的Android手机免root安装Kali NetHunter的保姆级指南。通过使用Termux终端模拟器,用户无需解锁Bootloader或获取root权限,即可在普通安卓设备上部署完整的Kali Linux渗透测试环境。教程涵盖了从环境准备、NetHunter核心安装到配置Kex VNC实现图形桌面访问的全过程,并附带了电脑投屏与常见问题解决方案,旨在打造一个便携的移动安全学习与测试平台。

weixin_29208327的博客 295

Redis 数据类型

Redis 数据类型(5种常用) 数据类型 类比Java数据类型 string String hash HashMap list LinkedList set HashSet sorted_set TreeSet 查询数据类型用法help @数据类型 redis 数据存储格式 redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储 数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串

weixin_42524843的博客 739

AOA(Angle of Arrival,到达角)定位算法及其误差分析的原理和MATLAB仿真_aoa定位算法

如图所示,有基站 S 1 ( x 1 , y 1 , z 1 ) , S 2 ( x 2 , y 2 , z 2 ) S_1(x_1,y_1,z_1),S_2(x_2,y_2,z_2) S1​(x1​,y1​,z1​),S2​(x2​,y2​,z2​),目标 T ( x , y , z ) T(x,y,z) T(x,y,z)。2+(z_1-z_2)^2} step1:两基站间的距离L=(x1−x2)2+(y1​−y2​)2+(z1​−z2​)2。

2401_87555613的博客 1482

Redis:数据存储类型

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

sfklyqh的博客 4088

Linux CentOS 8系统离线升级内核版本

CentOS 8操作系统离线场景下升级内核版本

WQwinter的博客 3237

GEE聚类分析:基于sentinel-2 影像进行 K-Means 聚类分析

这篇博客介绍了如何使用 Google Earth Engine (GEE) 进行 K-Means 聚类分析,以识别感兴趣区域(ROI)内的不同地表覆盖类型。文章详细说明了从定义用户参数、准备参考区域、加载和预处理 Sentinel-2 图像,到训练 K-Means 聚类器并对图像进行聚类的完整流程。代码示例展示了如何设置参数、采样像素数据、训练聚类器,并将结果可视化。最后,还提供了将聚类结果导出到 Google Drive 的选项。通过该教程,用户可以掌握在 GEE 平台上进行地理数据聚类分析的基本方法。

此星光明博客 263

redis数据类型及存储方法

set是string类型的无序集合,他的底层实际是一个value为null的hash表,收益添加,删除,查 找复杂度都是O(1)。一个算法,如果时间复杂度是O(1),那么随着数据的增加,查找数据的时间不变,也就是不管数据多 少,查找时间都是一样的。Redis的set结构也是一样的,它的内部也使用hash结构,所有的value都指向同一个内部值。是可以修改的字符串,内 部结构上类似于Java的ArrayList,采用分配冗余空间的方式来减少内存的频繁分配,字符串最大长度为512MB。

龙哥不管事的博客 2360

总目录- AutoSAR从入门到精通实战系列课程【持续更新中...】

欢迎大家订阅《AutoSAR入门和实战系列》,开始前博主先列出AutoSAR学习的大纲,同时这也可以作为大家学习AutoSAR的参考。想学习和及以及的同学们,可以订阅本博客,本博客一直持续更新中。如果想深入或从本质上学习和理解AutoSAR,打开此链接后,,点击左下方【立即订阅】订阅专栏!!!】......

4万+

Redis五种数据类型

Redis还提供了诸如collection、union和differences等操作,使得实现诸如commandism、poperhike、secondfriends这样的功能变得很容易,或者选择是将结果返回给客户机,还是将它们保存到使用不同命令的新的集合中。Redis的列表允许用户从序列的两端推入或者弹出元素,列表由多个字符串值组成的有序可重复的序列,是链表结构,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越快。‎添加、删除、检索和检查集合中的各个项目:‎。

weixin_39020941的博客 646

2026年3月GESP真题及题解(C++七级):物流网络

2026年3月GESP真题及题解(C++七级):物流网络

王老师青少年编程 1120

[工作流节点24] 外部用户审批的实现方式:让客户、供应商也能参与流程决策

摘要: 明道云支持通过三种方式实现外部用户审批:1)外部表单审批(推荐方案),通过公开表单让外部用户提交审批意见并自动触发流程;2)链接参数审批,通过含参数的URL实现一键确认;3)API/Webhook审批,适用于系统集成场景。三种方案均无需外部用户登录,支持记录操作日志和安全审计。典型应用包括客户确认报价、供应商发货确认等,实现内外流程无缝衔接。建议根据业务复杂度选择:无代码需求用外部表单,轻量审批用链接参数,系统对接用Webhook。

每日出拳老爷子的博客 347

1、redis数据存储类型介绍

文章目录前言一、String1.1、set、get、del1.2、mset、mget1.3、strlen、append1.4、incr、incrby、incrbyfloat1.5、decr、decrby二、hash三、list四、set五、sorted_set 前言 本文主要介绍redis在windows下五种数据类型 一、String 1、存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型 2、存储数据的格式:一个存储空间保存一个数据 3、存储内容:通常使用字符串,如果字符串

weixin_42843796的博客 763

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

03.redis数据存储类型介绍,及应用场景分析

redis数据存储类型介绍 业务数据的特殊性 作为缓存使用 1、原始业务功能设计 秒杀,618活动,双11活动,排队购票 2、运营平台监控到的突发高频访问数据 突发时政要闻,被强势关注围观; 3、高频、复杂的统计数据 在线人数,投票排行榜 附加功能 系统功能优化或升级,单服务器升级集群,session管理,Token管理 redis数据类型(常用5种) string、hash、list、set、sorted_set ...

迷逝 204

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

sqlite3数据存储最多存储多少条数据?达到上限如何处理?_Redis介绍和数据类型及单机版安装...

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即mas...

weixin_39969143的博客 862

Redis 数据存储类型

Redis 提供了丰富的数据存储类型,能够支持多种场景的需求,如缓存、队列、统计、实时数据处理等。选择合适的数据结构,可以极大提高应用的性能和灵活性。

木子馋喵的知识杂货铺 1363

Redis五大数据类型以及详细命令介绍

Redis五大数据类型详细介绍 文章目录一、String数据类型(一)、概述(二)、命令详解1、SET/GET/APPEND/STRLEN2、INCR/DECR/INCRBY/DECRBY3、GETSET4、SETEX5、SETNX6、MSET/MGET/MSETNX二、List数据类型(一)、概述(二)、命令详解1、LPUSH/LPUSHX/LRANGE2、LPOP/LLEN3、LREM/LSET/LINDEX/LTRIM:4、LINSERT5、RPUSH/RPUSHX/RPOP/RPOPLPUSH三、H

Chenwei的博文 1565

Redis数据存储类型(一)

       Redis支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。笔者总结了这五种数据存储类型及常用命令。 一、String String 是Redis最简单的数据存储类型,以key-value的形式可对任何数据进行存储,包括图片或序列化对象。【k-k...

Think In JAVA—Max 3939

Linux Redis数据类型(对象)简单介绍

Redis数据类型 Redis支持五种(对象)数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 1.String(字符串) 说明:一个 key 对应一个 value,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。 string 类型是 R...

weixin_38850997的博客 129

一、Redis简介以及五种数据类型介绍

文章目录一、Redis简介二、Redis的五种数据类型介绍1.string类型2.hash类型3.List类型4.Set类型5.Sorted set类型 一、Redis简介 Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了数据结构,例如字符串、散列、列表、集合、带有范围查询的排序集合、位图、超级日志、地理空间索引和流。Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis

Jaqen_Hghar_的博客 1125

Redis的数据类型

Redis 有5种主要的数据类型,这5种数据类型分别是:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。本文将介绍这5种数据类型及相应的命令。

zorro_z的博客 1679

Redis-使用java代码操作Redis->java连接上redis,java操作redis的常见类型数据存储,redis中的项目应用

计数器和限流:使用 Redis 的计数器功能统计页面访问次数、API 调用次数等,还可以结合 Redis 的过期时间和持久化特性实现限流功能,控制请求的频率和并发量。数据缓存:使用 Redis 作为缓存,将热门或频繁访问的数据存储在 Redis 中,减少对底层数据存储系统(如数据库)的访问压力,提高系统的读取性能。分布式锁:使用 Redis 的原子操作和过期时间特性,实现分布式锁功能,保证在分布式系统中的临界资源互斥访问,避免并发问题。将存储的数据转换成json串,进行存储。3.redis中的项目应用。

weixin_73471776的博客 575

Redis五种数据类型介绍

概述 Redis的键值可以使用物种数据类型:字符串,散列表,列表,集合,有序集合。本文详细介绍这五种数据类型的使用方法。本文命令介绍部分只是列举了基本的命令,至于具体的使用示例,可以参考Redis官方文档:Redis命令大全 字符串类型 字符串是Redis中最基本的数据类型,它能够存储任何类型的字符串,包含二进制数据。可以用于存储邮箱,JSON化的对象,甚至是一张图片,一个字

a_haoGG的博客 621

Redis的数据存储及String类型的实现

redis作为k-v数据存储,因查找和操作的时间复杂度都是O(1)和丰富的数据类型及数据结构的优化,了解了这些数据类型和结构更有利于我们平时对于redis的使用。下一期将对其它常用数据类型List、Hash、Set、Sorted Set所使用的ZipList、QuickList、SkipList做进一步介绍,对于文章中不清晰不准确的地方欢迎大家一起讨论交流。

Huangjiazhen711的博客 725

Redis数据存储的细节

1、概述 关于Redis数据存储的细节,涉及到内存分配器(如jemalloc)、简单动态字符串(SDS)、5种对象类型及内部编码、redisObject。在讲述具体内容之前,先说明一下这几个概念之间的关系。 下图是执行set hello world时,所涉及到的数据模型。 (1)dictEntry:Redis是Key-Value数据库,因此对每个键值对都会有一个dictEntry,里面存储了指向Key和Value的指针;next指向下一个dictEntry,与本Key-Value无关。 (2)Key:图中

C/C++Linux、音视频、DPDK 548

Redis学习笔记(三)Redis数据存储类型之String

Redis中所有的数据都是通过键值对即key-value的形式进行存储的,并不是通过以下的数据类型存储,这里我们所说的数据存储类型指的是value的类型,key的数据类型只能是string。 String ​ 基本操作 ​ (1)存入多个值mset key1 value1 key2 value2 … ​ (2)取多个值 mget key1 key2… ​

lovely__RR的博客 708

python爬取数据在哪存储_Python 抓取数据存储到Redis中的操作

redis是一个key-value存储结构。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型),数据存储如下图分析为了分别为ID存入多个键值对,此次仅对Hash数据进行操作,例子如下Hash 类其他常用操作hset(name,key,value) :name对应...

weixin_39890629的博客 235
上一篇: redis的基本操作
下一篇: Java使用Jedis连接Redis实现,你好,世界!
与黑夜为伍
博客等级 码龄7年 19粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值