美文网首页
Java内存缓存(本地缓存)

Java内存缓存(本地缓存)

作者: 善思者_tin | 来源:发表于2020-03-24 09:54 被阅读0次

一、概述

      我们知道应用服务器资源是有限的,数据库每秒中接受请求的次数也是有限的。如果利用有限的资源来提供尽可能大的吞吐量,一个办法:减少计算量,缩短请求流程(减少网络io或者硬盘io),这时候缓存就可以大展手脚了。

二、什么样的数据可以存到缓存中

  一段时间内不变的数据

三、为什么要有本地缓存

      在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无谓的数据库访问(数据库访问占用数据库连接,同时网络消耗比较大),但是有一点需要注意,就是缓存的占用空间以及缓存的失效策略。

四、内存缓存或本地缓存的原理

       实现缓存的方式就是使用Map,而缓存的实现则主要分为三大步骤:第一:先到缓存里面查找是否有我们需要的对象,若是存在,则直接返回。第二:若是缓存里面没有该对象,则将其数据添加到缓存中去。以备下次使用。第三:如果找到了相应的数据,或者是创建了相应的数据,那就直接使用这个数据。然而,java中Map对象的key设置为String类型,也是为了查找的方便。 

实际上是建立一个Map集合类实现把缓存的内容保存到内存里面,只要服务器没有关闭缓存就不会被清除,除非人为清除  。

import java.util.Map;

import java.util.concurrent.ConcurrentHashMap;

public class LocalCache {

private static Mapcache =new ConcurrentHashMap();

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("Apple");

String name =getCache("Apple");

System.out.println("name=" + name);

setCache("Apple","苹果",60 *60 *24 *30);

name =getCache("Apple");

System.out.println("第二次取值name=" + name);

removeCache("Apple");

name =getCache("Apple");

System.out.println("第三次取值name=" + name);

}

}

相关文章

  • Java内存缓存(本地缓存)

    一、概述 我们知道应用服务器资源是有限的,数据库每秒中接受请求的次数也是有限的。如果利用有限的资源来提供尽可...

  • Fresco内存缓存

    Fresco 一共有三级缓存机制,其中前两级内存缓存都存储在java heap中,本地缓存存储在本地文件目录中。 ...

  • Java数据结构_LinkedHashMap 的工作原理

    缓存算法的基本概念 源码基于JDK1.7 缓存机制 内存缓存 本地缓存 网络缓存 本节记录的是内存缓存 什么是内存...

  • Java数据结构_LinkedHashMap 的工作原理

    缓存算法的基本概念 源码基于JDK1.7 缓存机制 内存缓存 本地缓存 网络缓存 本节记录的是内存缓存 什么是内存...

  • 自己实现缓存

    LRU缓存实现(Java)java实现本地缓存

  • Guava cache使用总结

    缓存分为本地缓存和远端缓存。常见的远端缓存有Redis,MongoDB;本地缓存一般使用map的方式保存在本地内存...

  • Redis入门--缓存介绍

    学习笔记 缓存的类型: 1. 本地缓存 本地缓存就是在进程的内存中进行缓存,比如JVM中的堆。 本地缓存是...

  • Bitmap缓存策略

    首先理解三级缓存:内存-本地-网络 加载图片首先判断内存是否有缓存,如果内存没有,判断本地是否有缓存,如果还是没有...

  • ImageLoader、Fresco、Picasso、Glide

    ImageLoader 优点支持本地缓存文件名规则定义支持下载进度监听内存缓存和磁盘缓存默认实现多种内存缓存算法,...

  • 缓存

    内存缓存 数据库缓存 文件系统缓存 本地内存缓存 没有利用缓存机制之前,所耗费的时间 1. 数据库缓存 配置中间件...

网友评论

      本文标题:Java内存缓存(本地缓存)

      本文链接:https://www.haomeiwen.com/subject/gvdqzctx.html