首页 > 学院 > 开发设计 > 正文

LinkedHashMap+Spring Aop实现简易的缓存系统

2019-11-15 00:25:59
字体:
来源:转载
供稿:网友
LinkedHashMap+SPRing Aop实现简易的缓存系统

之前介绍说要做在线文库的系统,当数据量大的时候,根据标签tag的对文档信息的查询将是一个很耗时的工作,原来分析LinkedHashMap源码的时候了解到它有一个双向链表的结构,可以通过将刚被访问的元素置于链表的尾部来实现LRU算法,也就是可以通过它实现一个简易的缓存。如果我们用Spring的话,利用aspectJ就可以把这个模块提取出来,然后CGlib实现功能增强。

完整代码在这里:https://github.com/ywind/SimpleCacheWithSpringAop

关于线程安全的问题,github上我的代码是用的LinkedHashMap,该类是线程不安全的,可以用Collections.synchronizedMap()进行包裹,或者用下面链接提到的ConcurrentLinkedHashMap

参考资料:

http://www.VEVb.com/lzrabbit/p/3734850.html

http://blog.csdn.net/yunhua_lee/article/details/7648549

Ehcachehttp://raychase.VEvb.com/blog/1545906

缓存算法 http://blog.jobbole.com/30940/

线程安全https://github.com/ben-manes/concurrentlinkedhashmap

    http://3dobe.com/archives/34/

阿里中间件 http://jm-blog.aliapp.com/?p=689


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表