
项目
文章平均质量分 87
上述
材料苦逼不会梦到计算机白富美
这个作者很懒,什么都没留下…
展开
-
go高性能单机缓存项目
其中的refreshTickerMap, expireTickerMap存放的是每个特定的刷新时间/过期时间对应的sharedTicker。每个sharedTicker负责多个相同刷新时间/过期时间的缓存池的更新/过期操作。NewAsyncCache 初始化 AsyncCache 实例。如果在缓存池中就刷新键值对过期时间。singleflight 处理请求。返回 AsyncCache 实例。GetOrSet 获取或设置缓存。为给定的键值对中的值设定默认值。Range 遍历缓存。Range 遍历缓存。原创 2024-12-12 21:03:36 · 1123 阅读 · 0 评论 -
多人聊天室项目 AIO模型实现
实现一个简单的回声室服务器:服务器会简单地将客户端发送的消息原封不动地发送给客户端。原创 2024-12-05 22:52:50 · 341 阅读 · 0 评论 -
多人聊天室 NIO模型实现
使用Channel代替Stream使用Selector监控多条Channel可以在一个线程里处理多个Channel I/O。原创 2024-12-04 20:46:44 · 661 阅读 · 0 评论 -
多人聊天室项目 BIO模型实现
多人聊天室项目 BIO模型实现。原创 2024-12-03 22:19:06 · 261 阅读 · 0 评论 -
DIY-Tomcat part 3 实现对动态资源的请求
将DIY-Tomcat项目实现能够处理对动态资源的请求原创 2024-11-29 20:10:29 · 613 阅读 · 0 评论 -
DIY-Tomcat part 2 实现Processor和Connector以及测试所用TestClient
实现Processor和Connector以及测试所用TestClient成功返回File not found的网页内容。成功返回对应的网页内容。原创 2024-11-29 15:48:40 · 516 阅读 · 0 评论 -
DIY-Tomcat项目 part 1 实现和测试Request以及Response
手搓一个Tomcat的简化模型 处理HTTP的请求和响应以及支持HTTP协议原创 2024-11-28 20:55:54 · 697 阅读 · 0 评论 -
golang分布式缓存项目 Day6 防止缓存击穿
singleflight 是一个非常有用的包,它提供了一种机制来抑制对某个函数的多次重复调用。这个包特别适用于避免在高并发场景下对同一资源的重复请求,比如在缓存击穿问题中,多个请求同时访问同一个资源时,singleflight 可以确保这些请求中只有一个实际执行,其他请求则等待这个结果,从而减少对后端服务的压力核心概念singleflight 包中定义了一个名为 Group 的结构体类型,它表示一类工作,并形成一个命名空间,在这个命名空间中,可以使用重复抑制来执行工作单元。原创 2024-11-13 21:27:26 · 1595 阅读 · 0 评论 -
golang分布式缓存项目 Day5 分布式节点
概括性流程:fill:#333;color:#333;color:#333;fill:none;开始将多个服务器节点绑定到本地服务器gee上peers 监听8001, 8002, 8003端口并将端口监听到的请求交由peers绑定的ServeHTTP处理创建与用户面对的api客户端http.ListenAndServe 监听9999端口http.Handle处理路径为/api的请求发出http://localhost:9999/api?key=Tom的HTTP请求。原创 2024-11-13 20:23:02 · 1997 阅读 · 0 评论 -
golang HTTP基础
http.ListenAndServe 是 Go 语言标准库 net/http 包中的一个函数,用于启动一个 HTTP 服务器并监听指定的端口,以便接收和处理来自客户端的 HTTP 请求。这个函数是构建 Web 服务器和 Web 服务的基础。:一个字符串,指定服务器监听的网络地址和端口。通常格式为 “host:port”,例如 “:8080” 表示监听所有可用网络接口上的 8080 端口。如果省略 host 部分,默认监听所有网络接口**(即 0.0.0.0)。原创 2024-11-13 12:00:16 · 1155 阅读 · 0 评论 -
golang分布式缓存项目 Day4 一致性哈希
golang分布式缓存项目 Day4 一致性哈希原创 2024-11-12 10:16:48 · 812 阅读 · 0 评论 -
golang分布式缓存项目 Day3 HTTP服务端
golang分布式缓存项目 Day3 HTTP服务端原创 2024-11-11 10:23:24 · 906 阅读 · 0 评论 -
golang分布式缓存项目 Day2 单机并发缓存
var (mu.Lock()return gmu.RLock()return g一个 Group 可以认为是一个缓存的命名空间,每个 Group 拥有一个唯一的名称 name。比如可以创建三个Group,缓存学生的成绩命名为 scores,缓存学生信息的命名为 info,缓存学生课程的命名为 courses。第二个属性是 getter Getter,即缓存未命中时获取源数据的回调(callback)。第三个属性是 mainCache cache,即一开始实现的并发缓存。原创 2024-11-10 16:37:10 · 807 阅读 · 0 评论 -
golang分布式缓存项目 Day1 LRU 缓存淘汰策略
golang实现分布式缓存项目 Day1原创 2024-11-07 20:54:15 · 1022 阅读 · 0 评论 -
JAVA高性能缓存项目
从0到1模拟打造一个高性能缓存池原创 2024-10-23 17:16:01 · 1901 阅读 · 0 评论