小结:由于本周一个手机接口访问太频繁,基本上访问下客户端就会生成一次xml,这样又是频繁的查库,导致80机器负载太高。考虑到缓存解决一下。
三种缓存形式:
1.内存缓存:也即HashMap缓存形式。由于涉及到被查询的表数据变化不是太大,生成的xml也特别的小。只是访问太过频繁,有的时候甚至2秒就访问一次。于是考虑内存缓存的形式。在每次请求过来的时候先在缓存里面取,如果没有再去库里面查。
主要代码是定义一个对象,该对象包含了hashMap中的value值,是字符串类型,另一个是long类型的时间,也就是缓存失效时间
然后写一个工具内存缓存cache类,写一个getdata和setData
参见接口phone的CacheHashMap类
最后在需要调用的地方进行key的定义和load,get的设置。
2.eccache缓存:即比内存缓存高级,一部分hashMap缓存的原理,如果内存不够用就写到本地文件中,去文件中取,还没有用过,据说不同版本有的没有失效时间。
3.memcache缓存:据了解有一个服务器端和多个客户端。
客户端实际上就是一个jar包,只要有这个jar包,memcache.jar大概是这个,然后有一些配置文件memcache.properties属性文件,里面定义了memcache服务器端的主、从等。例如:
memcachedServers_master=10.11.52.167:11211 10.11.52.167:11212
#slave servers[ip3:port3 ip4:port4]
memcachedServers_slave=10.11.52.167:11213 10.11.52.167:11214
然后在自己需要用到memcache缓存的地方写业务逻辑代码,调用jar包里面的相关方法,同时连接到memcacche服务器端(属性文件那获取值等),第一次的时候把查询或者怎么的结果集以key、value的形式放到服务器端的缓存里面。下一次先从缓存里面取,如果没有再去数据库里面查再缓存上。
memcache需要和spring集成,还需要参见memcache_util工程的spring-memcache.xml
分享到:
相关推荐
Android项目异步加载图像小结 (含线程池,缓存方法) 本资源为一份关于Android项目中异步加载图像的详细文档,包含了线程池和缓存方法的应用。文档旨在帮助开发者解决在Android应用中高效加载大量图像的问题,提高...
本文将详细介绍几种JSP中清除页面缓存的常见方法。 一、清除页面缓存 在JSP页面中,可以通过设置HTTP响应头来禁止浏览器缓存页面。以下代码片段展示了如何在JSP中实现这一目标: ```jsp response.setHeader(...
接下来,我们分别了解这两种缓存的原理和操作方式。强缓存主要通过HTTP响应头中的两个字段来实现,即Expires和Cache-Control。Expires用于设置资源的过期时间,它是一个绝对时间点。当浏览器请求资源时,会检查本地...
Redis 中,除了使用 `PERSIST` 命令撤销 key 的失效时间之外,以下几种情况也会导致 key 失效: 1. 使用 `DEL` 命令删除 key 时,其失效时间也会被撤销。 2. 当一个设置了失效时间的 key 被更新覆盖(比如使用 `SET...
本文将详细探讨几种常见的PHP缓存方法。 1. 数据缓存:这是最基本的缓存形式,主要用于数据库查询结果的存储。当一个页面被访问时,系统会首先检查是否有对应的缓存数据。如果没有,就执行数据库查询,获取数据,...
具体到文件操作上,主要有以下几种流类型: - **`istream`**:输入流,负责从文件读取数据。 - **`ostream`**:输出流,负责向文件写入数据。 - **`cin`**:标准输入流,通常与键盘关联。 - **`cout`**:标准输出流...
标题中的“Pure JS (7):小结”表明这是一篇关于JavaScript编程的系列教程的第七部分,重点在于总结前面几部分所讲解的核心概念和技巧。JavaScript,也称为JS,是一种广泛用于网页和网络应用的脚本语言,尤其在前端...
目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 ...1.5小结 ...2.4.1四种自动装配类型 ...2.6小结 ...3.7小结 ...4.6小结 ...5.7缓存 ...5.7.1配置缓存方案 ...b.4小结
第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结
第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结
1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP 14 1.5.2 WAMP 16 1.5.3 Appserv 17 1.5.4 EasyPHP 18 1.5.5 VertrigoServ 19 1.6 几种开发工具的介绍 20 1.6.1 Vi及Vim 20 1.6.2 Eclipse+PHPEclipse插件 21 ...
本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...
本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...
在Java Servlet规范中定义了几种不同的监听器,例如: 1. **ServletRequestListener**:监听HTTP请求的创建和销毁。 2. **ServletRequestAttributeListener**:监听请求属性的变化。 3. **HttpSessionListener**:...
本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和readonly的区别 82 2.3 private、protected、public和internal的区别 86 2.4 sealed、new、virtual、abstract与override 87 2.5 ...
本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和readonly的区别 82 2.3 private、protected、public和internal的区别 86 2.4 sealed、new、virtual、abstract与override 87 2.5 ...