随笔分类 - go学习
摘要:先贴上原作者的仓库地址:https://github.com/panjf2000/ants 通俗来讲,线程池的存在就是为了实现高并发情况下的线程复用,从而减少内存开销和提升执行速度。 个人认为ants的设计有两个可学习之处:池调度模型和自旋锁。 池模型 检查当前 Worker 队列中是否有可用的 W
阅读全文
摘要:ORM框架实现的是对象到数据库表的映射,对于任意对象的属性解析,反射恰逢其时。 Session 想要对数据库进行操作,我们在连接数据库后可以新建一个对话。在go语言中直接用db对象也是可以的。但经过Session封装后我们可以做更多的事情: Engine可以随时新建Session,进行并发。 Ses
阅读全文
摘要:首先我们来归结分布式缓存的主要组成: 分布式,每个结点自身能提供缓存服务,也能向其他节点请求服务。 缓存,缓存的策略众多,GeeCache采用的是LRU策略。 缓存 LRU 核心是两个数据结构,字典和双向链表。其中,字典存储键和值的映射关系,查找对应值的复杂度为O(1)。然后具体存储值的是双向链表,
阅读全文
摘要:框架的意义在于,封装大部分手工操作的功能,提升开发效率。 引擎封装 Gee框架模仿Gin,于是我们整体构造一个Web引擎类Engine。如果直接使用基础库http,启动整个Web应用依赖以下代码: http.ListenAndServe(addr, engine) 使用Engine进行封装: fun
阅读全文

浙公网安备 33010602011771号