ecodeclub / ecache

统一缓存 API
Apache License 2.0
12 stars 15 forks source link

提供了基于golang-lru的本地缓存实现 #8

Closed xuhaidong1 closed 1 year ago

xuhaidong1 commented 1 year ago

3

BuildinMapCache:

LRUCache:

  1. 场景1:主动删除注入cache中的key--需要同步删除lru副本中的key;
  2. 场景2:执行lru淘汰--需要同步删除注入cache中的key;
  3. 场景3:过期淘汰--需要同步删除lru副本中的key;
flycash commented 1 year ago

这边合并一下最新代码,然后拆成两个合并请求。一般来说,我们都认为一个功能点一个合并请求比较方便 review 以及后期追溯提交历史。

这边你先提交 lru-cache 的封装。一个个来

xuhaidong1 commented 1 year ago

好的,我先把localcache放到lrucache的单测里面去吧,如果只用gomock测试封装的lrucache的话测并发有些困难,我可以保证的是测试所用的localcache和封装的lrucache没有强耦合,都是接口调用。

flycash commented 1 year ago

这边你不需要跟你的实现没有关系的并发问题。也就是说,你可以认为 lru-cache 是安全的。除非你自己本身引入锁之类的机制,那么可以稍微测试一下。

并发的测试用例很难设计,尽力就好。