很多时候我们为了缩短单次请求的时间,就需要去分析请求在哪一步耗时比较大,一般越靠近应用层优化效果越大,后端程序就是请求到达路由解析到返回结果这一步骤了。
1.直接读mysql,这一般是后台管理员的增删改查了
2.直接读redis,redis到是方便各节点访问以及一定操作,但毕竟存在网络io
3.直接从本地内存中读数据,使用前你需要精准判断需要分配多大内存空间来充当本地内存缓存,为了更好的使用这有限的本地缓存,对它进行一定管理十分必要,可以参考redis的,过期时间,lru,lfu,fifo等等
`go get -u
github.com/bluele/gcache`,这个开源库提供分装好了的lru,lfu算法,你可以直接使用,也有过期时间的分装,以及使用内存大小。
https://github.com/hashicorp/golang-lru
也是一个lru的分装
golang的标准库里面也有对双向链表的分装
其实golang提供的数据类型就就能满足我们很多场景了,小场面压根可以原生直接上。。。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。