08 2023 档案

摘要:# 对象介绍 Redis 底层的基本数据类型包括动态字符串、链表、字典、跳表、整数集合、压缩列表。但是 Redis并没有直接使用这些基本数据类型来构建键值对数据库,而是基于这些数据类型创建了一个对象系统,对象系统包含字符串对象、列表对象、哈希对象、集合对象、有序集合对象。 ```c struct r 阅读全文
posted @ 2023-08-14 11:49 Stitches 阅读(21) 评论(0) 推荐(0) 编辑
摘要:SDS 动态字符串 Redis 是 c 语言实现的,传统 c 字符串存在不可变导致的频繁内存分配,一些 API 函数可能引起缓冲区溢出等问题。 Redis 在 c 字符串的基础上,封装实现了 SDS动态字符串,能够根据每次存储关键字的大小自动申请额外缓冲区内存,避免频繁申请和缓冲区溢出问题。 SDS 阅读全文
posted @ 2023-08-14 11:49 Stitches 阅读(33) 评论(0) 推荐(0) 编辑
摘要:> 参考: > > NIO 详解(Java):https://juejin.cn/post/6844903605669986317 > > ByteBuffer(内存缓冲区):https://blog.csdn.net/u010430495/article/details/86087154 # 1、 阅读全文
posted @ 2023-08-09 15:27 Stitches 阅读(9) 评论(0) 推荐(0) 编辑
摘要:# 1、NIO存在的问题 ## 1.1 客户端关闭导致服务端轮询 在关闭客户端时,服务端 Selector.select() 操作不会阻塞,会直接通过并且认为是 READ 状态,而此时的数据长度为0,就会导致空轮询操作。 ![image-20220906203301768](D:\note\nett 阅读全文
posted @ 2023-08-09 15:26 Stitches 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示