Skip to content

Commit 0a85464

Browse files
committed
Update Java Notes
1 parent 90a5fd9 commit 0a85464

File tree

3 files changed

+4694
-135
lines changed

3 files changed

+4694
-135
lines changed

DB.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8201,7 +8201,7 @@ hash类型:底层使用**哈希表**结构实现数据存储
82018201
82028202
hash是指的一个数据类型,并不是一个数据
82038203
8204-
* 如果field数量较少,存储结构优化为**类数组结构**(有序)
8204+
* 如果field数量较少,存储结构优化为**压缩列表结构**(有序)
82058205
* 如果field数量较多,存储结构使用HashMap结构(无序)
82068206
82078207
@@ -8674,7 +8674,7 @@ sorted_set类型:在set的存储结构基础上添加可排序字段,类似
86748674

86758675
Redis 使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的**元素数量比较多**,又或者有序集合中元素的**成员是比较长的字符串**时,Redis就会使用跳跃表来作为有序集合健的底层实现
86768676

8677-
跳跃表在链表的基础上增加了多级索引以提升查找的效率,索引是占内存的,所以是一个空间换时间的方案。原始链表中存储的有可能是很大的对象,而索引结点只需要存储关键值值和几个指针,并不需要存储对象,因此当节点本身比较大或者元素数量比较多的时候,其优势可以被放大,而缺点则可以忽略
8677+
跳跃表在链表的基础上增加了多级索引以提升查找的效率,索引是占内存的,所以是一个**空间换时间**的方案。原始链表中存储的有可能是很大的对象,而索引结点只需要存储关键值值和几个指针,并不需要存储对象,因此当节点本身比较大或者元素数量比较多的时候,其优势可以被放大,而缺点则可以忽略
86788678

86798679
* 基于单向链表加索引的方式实现
86808680

0 commit comments

Comments
 (0)