Q6:
我们都知道在Java里有HashMap和HashSet,那Redis里面是有没有相关的数据结构呢?如果有,请你尝试着介绍一下
A:
Java里面的hashMap和HashSet具有相似的结构,不一样的地方只是在于HashSet将元素作为Key,而Value作为null存进Hash Map中,而在Redis里,哈希对象使用的是ziplist或者hashtable(dict)来实现的(ziplist只适用于较短元素以及较少数量元素的存取,超出一定限制性能就会有所下降),而集合对象则是使用的是intset或者hashtable实现(intset同样只适用于纯数字的存取,如果有字符串对象存入就需要采用hashtable)。
两个对象在使用hashtable来实现的时候与Java中实现HashSet和HashMap非常的相似,同样是相同数据结构,不过集合中的Value统统为null。