Java中缓存之内存缓存
来源:互联网 发布:shift 在js中 编辑:程序博客网 时间:2024/06/02 04:25
Java中缓存之内存缓存
1.缓存为什么要存在
应用服务器资源是有限的,数据库每秒中接受请求的次数也是有限的。如果利用有限的资源来提供尽可能大的吞吐量呢,一个办法:减少计 算量,缩短请求流程(减少网络io或者硬盘io),这时候缓存就可以大展手脚了
2.什么样的数据可以存到缓存中
一段时间内不变的数据
3.为什么要有本地缓存
在 系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减 少无谓的数据库访问(数据库访问占用数据库连接,同时网络消耗比较大),但是有一点需要注意,就是缓存的占用空间以及缓存的失效策略。
4.内存缓存或本地缓存的原理
实现缓存的方式就是使用Map,而缓存的实现则主要分为三大步骤:第一:先到缓存里面查找是否有我们需要的对象,若是存在,则直接返回。第二:若是缓存里面没有该对象,则将其数据添加到缓存中去。以备下次使用。第三:如果找到了相应的数据,或者是创建了相应的数据,那就直接使用这个数据。 然而,java中Map对象的key设置为String类型,也是为了查找的方便。
实际上是建立一个Map集合类实现把缓存的内容保存到内存里面,只要服务器没有关闭缓存就不会被清除,除非人为清除
import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class CacheClass {private static Map<String,String> cache = new ConcurrentHashMap<String, String>();public static void setCache(String key, String obj, long seconds){cache.put(key,obj);}public static String getCache(String key){ return cache.get(key);}public static void removeCache(String key){cache.remove(key);}public static void main(String args[]){removeCache("China");String name = getCache("China");System.out.println("name="+name);setCache("China","中国",60*60*24*30);name = getCache("China");System.out.println("第二次取值name="+name);removeCache("China");name = getCache("China");System.out.println("第三次取值name="+name);}}
运行结果:
name=null
第二次取值name=中国
第三次取值name=null
转载自:http://blog.csdn.net/lululove19870526/article/details/51097542
小白读后感:写的通俗易懂,让一无所知的小白有了入门的基本概念,谢谢这位作者...
- Java中缓存之内存缓存
- Java中缓存之内存缓存
- 优化之内存缓存memcache
- PHP缓存之内存缓存(Memcache)
- 图片缓存之内存缓存技术LruCache
- android图片三级缓存之内存缓存
- iOS开发之内存缓存机制
- iOS开发之内存缓存机制
- iOS开发之内存缓存机制
- iOS开发之内存缓存机制 .
- IOS开发(99)之内存缓存
- IOS开发(99)之内存缓存
- iOS开发之内存缓存机制
- iOS开发之内存缓存机制
- Android内存优化之内存缓存
- Android内存优化之内存缓存
- 分布式缓存Redis之内存优化
- 图片缓存之内存缓存技术LruCache,软引用
- MFC Windows程序设计--公用控件
- Version 1.6.0 of the JVM is not suitable for the this product.Version:1.8 or greater is required
- C语言常用头文件及库函数——string.h
- 使用Python进行目录的对比
- 磁盘管理
- Java中缓存之内存缓存
- Js进阶知识(一)
- 常用排序算法C++版小结
- ACM-动态规划21-三角形最长路径问题
- 微信付款
- [COGS826][Tyvj Feb11] GF打dota(k短路)
- bzoj 2809 左偏树
- ACM-动态规划23-大盗阿福
- 欢迎使用CSDN-markdown编辑器