# cache-system **Repository Path**: chennanbian/cache-system ## Basic Information - **Project Name**: cache-system - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一个简易的内存缓存系统 功能: 1. 支持设定过期时间,精度为秒级。 2. 支持设定最大内存,当内存超出时会做出合理的处理。 3. 支持并发安全。 问:过期的key,如何清除? 答:参考redis的策略,有3种。 1. 被动删除:key过期后先不删除,下次访问该key时,再去判断是否过期,然后再删除。 2. 主动删除:后端启动一个协程,不断循环检查是否有过期的key,有过期的就删除。 3. 被动主动相结合: 1)过期先不清理,当内存超过某个限制只时,触发删除过期key的任务(强制打开无法关闭)。 2)过期先不清理,当经过多少时间后,触发删除过期key的任务(可以自由开闭)。 代码实现的的是第3种策略。