LinkedHashMap+Spring Aop实现简易的缓存系统
2024-09-02 20:56:11
之前介绍说要做在线文库的系统,当数据量大的时候,根据标签tag的对文档信息的查询将是一个很耗时的工作,原来分析LinkedHashMap源码的时候了解到它有一个双向链表的结构,可以通过将刚被访问的元素置于链表的尾部来实现LRU算法,也就是可以通过它实现一个简易的缓存。如果我们用Spring的话,利用AspectJ就可以把这个模块提取出来,然后CGlib实现功能增强。
完整代码在这里:https://github.com/ywind/SimpleCacheWithSpringAop
关于线程安全的问题,github上我的代码是用的LinkedHashMap,该类是线程不安全的,可以用Collections.synchronizedMap()进行包裹,或者用下面链接提到的ConcurrentLinkedHashMap
参考资料:
http://www.cnblogs.com/lzrabbit/p/3734850.html
http://blog.csdn.net/yunhua_lee/article/details/7648549
Ehcache http://raychase.iteye.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
最新文章
- jQuery选择器总结
- MongoDB系列一:CentOS7.2下安装mongoDB3.2.8
- 【WPF】绑定数据
- 百度音乐api
- Jetty 简单使用
- 学习quartz定时
- 关于使用";/";来 dispatcherServlet 的url-pattern带来的问题
- BI名词解释
- 在delphi中,DLL加载时做初始化的Demo
- P2286 [HNOI2004]宠物收养场
- 一个可以拖动的自定义Gridview代码
- map遍历性能记录
- Resharper 详细教程
- css 元素溢出
- grep用法
- Linux 小知识翻译 - 「Linux和CPU的兼容性」
- [自学]Docker system 命令 查看docker镜像磁盘占用情况 Docker volume 相关
- Anaconda的基本使用
- 2017-2018-2 20155231《网络对抗技术》实验五: MSF基础应用
- Delphi的自动编译软件Want
热门文章
- 19、Linux命令对服务器内存进行监控
- POJ 3304 Segments (判断直线与线段相交)
- 【vue】---vue中使用async+await出现的问题及解决方案
- VIM查找空格
- pycharm的第一次使用(其实并不是第一次)
- 使用tensorboard报错 ImportError: No module named past.builtins
- WXML 数据绑定
- centos7 安装KDE
- tf-idf 词条权重计算
- redis集群报错:(error) MOVED 5798 127.0.0.1:7001