双链表 哈希 go 实现lFU 缓存算法


本文摘自网络,作者,侵删。

什么是LFU

LFU
Least frequently used, 基于访问的频次和时间来淘汰数据。比如缓存满了,使用LFU算法,可以淘汰掉访问频次最少且访问时间靠后的元素。

leetcode也有相应的题目,只要实现Get, Put接口即可。

本文除了实现Get, Put, 还实现了GetIterator和GetAll接口,接口如下

func (lfu *LFUCache) Get(key interface{}) interface{}
func (lfu *LFUCache) Put(key interface{}, value interface{}) 
func (lfu *LFUCache) GetIterator() func() *dbNode
func (lfu *LFUCache) GetAll() []interface{}

完整代码见github


本文来自:51CTO博客

感谢作者:mob604756e4006a

查看原文:双链表 哈希 go 实现lFU 缓存算法

相关阅读 >>

win7 Go语言如何安装

游戏服务器框架Gonet

以下两个函数执行结果一样嘛? 为什么

解决使用Go get命令被墙的问题

Go - 统一定义 api 错误码

Golang语言社区投稿】Golang高并发基于协程,通道的任务池

如何使用Go优雅地撰写单元测试

Golang为什么那么火?

beeGo项目和Go项目 打包部署到linux

型模式

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...