redis(9):Redis 5种数据类型vs java类型

已经看完redis的5种数据结构(在redis 5之后,新增stream数据结构),作为java程序员,总想把redis的数据结构和java里的类型进行对比,遂成本文

一、数据结构对比

redis数据结构java数据结构
StringMap<String,String>
HashMap<String,Map<String,String>>
ListMap<String,List< String >> 里面list 有序链表
SetMap < String , Set< String >> 里面set元素不能重复且无序
zsetMap < String , Sort Set< String >> 里面 Sort Set 元素有序且不能重复

reids数据存储的结构统一都是 Key/Value 结果,而Key统一都是String类型的,即Key针对所有的Redis数据类型都是必须的,而通常所说的Redis的数据类型,指代的都是Value所存储的类型。

1.String字符串类型-类比Java中String类型

在这里插入图片描述

  • 相比Java中的类型,可以这样理解 Map<String,Object> ,Key是String类型的,Value是Java中所有的基本类型都可以。

  • 在Java中String类型的数字是可以和int,long,folat等类型相互转换的,所以在redis中String类型有时也可以作为Java中的整数或者浮点数类型使用

2.Hash散列类型-类比Java中的HashMap类型

在这里插入图片描述

  • 相比Java中的类型,可以这样理解 Map<String,Map<String,Object>> Key是外层Map的键,Value是外层Map的值;而在redis中Hash散列类型中的field是里层Map的键,redis中散列类型中真正的value是里层Map的值
3.List列表类型-类比Java中List类型

在这里插入图片描述

  • 相比Java中的类型,可以这样理解 Map<String,List> Key是String类型的,Value是Java中List类型的。特点也和Java中的List类型差不多,有序的,可重复的
4.Set集合类型-即Value(member)所存储的类型,类比Java中的HashSet类型

在这里插入图片描述

  • 相比Java中的类型,可以这样理解 Map<String,HashSet> Key是String类型的,Value是Java中Set类型的。特点也和Java中的Set类型差不多,无序的,不可重复的
5.有序集合类型-即Value(member)所存储的类型,类比Java中的TreeSet类型

在这里插入图片描述

  • 特点:有序的,不可重复的,即member是不可重复的,使用score维护成员的顺序,score是可以重复的

  • zadd命令如果添加已经存在的member对象,则使用新的score值更新member旧的score值

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

water___Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值