今天看啥  ›  专栏  ›  码小辫

Redis Set 用了 2 种数据结构来存储,到现在才知道

码小辫  · 公众号  ·  · 2023-05-01 17:10
码小辫专注更多编程视频和电子书天天在用钱Sets 无序集合,他的功能就好像你熟悉的 Java 中的 HashSet 一样。集合是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。1. 是什么Sets 是 String 类型的无序集合,集合中的元素是唯一的,集合中不会出现重复的数据。Java 的 HashSet 底层是用 HashMap 实现,Sets 的底层数据结构也是用 Hashtable(散列表)实现,散列表的 key 存的是 Sets 集合元素的 value,散列表的 value 则指向 NULL。不同的是,当元素内容都是 64 位以内的十进制整数的时候,并且元素个数不超过 set-max-intset-entries 配置的值(默认 512)的时候,会使用更加省内存的 intset(整形数组)来存储。图2-15使用场景当你需要存储多个元素,并且要求不能出现重复数据,无需考虑元素的有序时,就可以使用 Sets 来存储,这样能利用我对单个元素 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照