golang
已收录文章:12173篇
-
构建无状态微服务时,Session管理可通过JWT、Redis和统一认证中心实现。①使用JWT作为Token,客户端存储,服务端无状态;②结合Redis记录Session元数据,支持主动失效;③设立统一认证中心,中间件校验Token;④确保HTTPS传输安全并设计Token刷新机制。184 收藏
-
Go语言中通过双向链表与哈希表结合可实现LRU缓存系统,1.使用LRU策略优先淘汰最近最少使用的数据,依赖链表维护访问顺序,哈希表实现快速查找;2.数据结构设计包含entry节点和LRUCache缓存对象,分别保存键值对及头尾指针;3.核心操作包括Put(添加或更新并移至头部)、Get(返回值并调整位置),辅以moveToHead和removeTail实现高效操作;4.初始化后按需调用方法模拟缓存行为;5.注意并发安全、边界条件处理及功能扩展如TTL支持等优化点。184 收藏
-
要配置Kong支持Go插件需完成三步:安装KongGateway并确保版本兼容、修改配置启用Go插件运行环境、安装Go并配置go-pdk包;编写Go插件需实现New函数、定义Config结构体及Parse方法、通过Access等方法处理请求逻辑;开发时要注意使用-buildmode=plugin编译、查看日志调试、保持schema与配置一致,并注意缓存问题。184 收藏
-
1. 定位 Once is an object that will perform exactly one action. sync.Once 是 Go 标准库提供的使函数只执行一次的实现,常应用于单例模式,例如初始化配置、保持数据库连接等。它可以在代码的任意位置183 收藏
-
堆排序 堆排序是一种树形选择排序算法。 简单选择排序算法每次选择一个关键字最小的记录需要 O(n) 的时间,而堆排序选择一个关键字最小的记录需要 O(nlogn)的时间。 堆可以看作一棵完全二叉183 收藏
-
在一些项目中, 我们会使用json 来将字符串转为结构体,但是很多时候,这种结构体只会用一次,基本上只会用于反序列化, 对于这种只用到一次的结构体, 我们可以使用匿名结构体. 在gin 接收参数的183 收藏