会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
bulesea
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
14
下一页
2024年2月27日
redis自学(6)SkipList
摘要: SkipList SkipList(跳表)首先是链表,但与传统链表相比有几点差异: 元素按照升序排列存储 节点可能包含多个指针,指针跨度不同(最多允许32级指针,跨度成倍数递增) SkipList的特点: 跳跃表是一个双向链表,每个节点都包含score和ele值 节点按照score值排序,score
阅读全文
posted @ 2024-02-27 15:23 蓝海的bug本
阅读(32)
评论(0)
推荐(0)
2024年2月26日
redis自学(5)QuickList
摘要: 问题1:ZipList虽然节省内存,但申请内存必须是连续空间,如果内存占用较多,申请内存效率很低。怎么办? 为了缓解这个问题,我们必须限制ZipList的长度和entry大小。 问题2:但是我们要存储大量数据,超出了ZipList最佳的上限怎么办? 我们可以创建多个ZipList来分片存储数据。 问
阅读全文
posted @ 2024-02-26 15:38 蓝海的bug本
阅读(43)
评论(0)
推荐(0)
2024年2月23日
redis自学(4)ZipList
摘要: ZipList是一种特殊的“双端链表”,由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1)。 ZipListEntry ZipList中的Entry并不像普通链表那样记录前后节点的指针,因为记录两个指针要占用16个字节,浪费内存。而是采用了下面的结构
阅读全文
posted @ 2024-02-23 16:09 蓝海的bug本
阅读(156)
评论(0)
推荐(0)
2024年2月22日
redis自学(3)Dict
摘要: redis的键和值的映射关系是通过Dict来实现的。 Dict由三部分组成,分别是哈希表(DictHashTable)、哈希节点(DictEntry)、字典(Dict)。 size的大小总是2的N次方 sizemask的大小是size-1 used因为哈希的存储特性(不同元素相同的哈希值,即哈希冲突
阅读全文
posted @ 2024-02-22 14:40 蓝海的bug本
阅读(51)
评论(0)
推荐(0)
2024年2月21日
redis自学(2)IntSet
摘要: IntSet IntSet是redis中set集合的一种实现方式,基于整数数组来实现,并且具备长度可变、有序等特征。 可能会有疑惑,int8_t 的数组contents只有1个字节,怎么可能存的下数组,其实这里的contents存储的只是指向真正数组的指针。 IntSet的取值范围大小,实际上是由e
阅读全文
posted @ 2024-02-21 13:59 蓝海的bug本
阅读(75)
评论(0)
推荐(0)
2024年2月20日
redis自学(1) 动态字符串SDS
摘要: 字符串是redis最常见的数据结构,但redis并没有直接使用C语言的字符串,是因为C语言本身其实是没有字符串的,所谓的字符串其实是字符数组(Java语言中的字符串是一个对象),所以C语言的字符串有很多问题: ① 获取字符串长度需要通过运算 C语言的字符串数组都是以’\0’结尾,这是一个字符串的结束
阅读全文
posted @ 2024-02-20 15:10 蓝海的bug本
阅读(84)
评论(0)
推荐(0)
2024年1月24日
Random变量直接取值存储下来
摘要: 这样的变量,最好是直接生成,不要问为什么,问就是sonar提示的 public static String getRandom(int i) { int jjj = new Random().nextInt(9); // int suiJiShu = jjj.nextInt(9); if (i ==
阅读全文
posted @ 2024-01-24 10:42 蓝海的bug本
阅读(15)
评论(0)
推荐(0)
finally里不宜抛出异常
摘要: 都已经再finally了,就不要抛出异常了
阅读全文
posted @ 2024-01-24 10:37 蓝海的bug本
阅读(15)
评论(0)
推荐(0)
关于流的关闭注意事项
摘要: private void readTheFile() throws IOException { Path path = Paths.get(this.fileName); BufferedReader reader = Files.newBufferedReader(path, this.chars
阅读全文
posted @ 2024-01-24 10:34 蓝海的bug本
阅读(22)
评论(0)
推荐(0)
2024年1月18日
linux没有root权限修改环境变量怎么办
摘要: Linux系统可以自己建立和管理环境变量文件,而且每个用户都可以在自己的主目录下创建一个 bash 环境变量文件,这个文件会在用户登录时自动执行。 创建这个文件的命令是: ```touch ~/.bashrc``` 然后可以使用任意文本编辑器打开这个文件,添加需要的环境变量,例如: ```expor
阅读全文
posted @ 2024-01-18 14:17 蓝海的bug本
阅读(286)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
···
14
下一页
公告