Golang
丶
这个作者很懒,什么都没留下…
展开
-
Golang Woker池和Job队列模板
Golang Worker池Job队列这个模板是考虑用作字段校验的,之前是通过维护两个channel woker和result来实现监听的字段校验,但是这种方式是需要先全部校验完才能去遍历结果,而且我这里还需要根据数据的总长度来申请channel的缓存大小,这个方式非常不好,所以后续更改为这个模板通过控制Goroutine复用来限制并行的数量。后续还考虑过将所有的接口的封装成这种形式,但是这样无疑会降低接口的并发量,和同事讨论觉得这种形式还是存在一些业务场景的。package Plugimpor翻译 2022-01-11 11:26:36 · 417 阅读 · 0 评论 -
Gorm 简单应用
Gorm 简单应用package mainimport ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/plugin/soft_delete" "log" "os" "time")// odf和odfhistory共有的字段结构,单独列出来,然后不同的再在其自己的结构体中设计type OdfModels struct { ID int `json:"id"原创 2022-01-04 13:57:09 · 679 阅读 · 0 评论 -
Golang 实现LFU缓存淘汰算法
package mainimport "fmt"type Node struct { Key int Value int freq int pre *Node next *Node}type LFUCache struct { limit int HashMap map[int]*Node head *Node end *Node}func LFUConstructor(capacity int) LFUCache{ lfuCache := LFUCache{}原创 2021-12-23 15:04:52 · 536 阅读 · 0 评论 -
Golang 实现LRU缓存淘汰算法
package mainimport "fmt"type Node struct { Key int Value int pre *Node next *Node}type LRUCache struct { limit int HashMap map[int]*Node head *Node end *Node}/* Constructor * @Description: 实例化一个指定容量的LRU * @param capacity int * @retur原创 2021-12-23 12:02:00 · 327 阅读 · 0 评论