引言: reids数据存储的结构统一都是 Key/Value 结果,而Key统一都是String类型的,即Key针对所有的Redis数据类型都是必须的,而通常所说的Redis的数据类型,指代的都是Value所存储的类型。
1.String字符串类型-即Value所存储的类型,类比Java中String类型
相比Java中的类型,可以这样理解 Map<String,Object> Key是String类型的,Value是Java中所有的基本类型
都可以。
在Java中String类型的数字是可以和int,long,folat等类型相互转换的,所以在redis中String类型有时也可以作为
Java中的整数或者浮点数类型使用
2.Hash散列类型-即Value所存储的类型,类比Java中的HashMap类型
相比Java中的类型,可以这样理解 Map<String,Map<String,Object>> Key是外层Map的键,Value是外层Map
的值;而在redis中Hash散列类型中的field是里层Map的键,redis中散列类型中真正的value是里层Map的值
3.List列表类型-即Value所存储的类型,类比Java中List类型
相比Java中的类型,可以这样理解 Map<String,List<Object>> Key是String类型的,Value是Java中List
类型的。
特点也和Java中的List类型差不多,有序的,可重复的
4.Set集合类型-即Value(member)所存储的类型,类比Java中的HashSet类型
相比Java中的类型,可以这样理解 Map<String,HashSet<Object>> Key是String类型的,Value是Java中Set
类型的。
特点也和Java中的Set类型差不多,无序的,不可重复的
5.有序集合类型-即Value(member)所存储的类型,类比Java中的TreeSet类型
特点:有序的,不可重复的,即member是不可重复的,使用score维护成员的顺序,score是可以重复的
zadd命令如果添加已经存在的member对象,则使用新的score值更新member旧的score值