Hibernate之二级缓存

一.什么样的数据需要缓存

1、很少被修改的数据
2、不是很重要的数据,允许出现偶尔并发的数据
3、不会被并发访问的数据
4、参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实例引用,实例极少或者从来不会被修改

二.数据字典是什么

一个项目中所有的基础数据,就是项目中所有的下拉框

解决的问题:如果有一百个下拉框,那么就要建一百个表,数据缓存省略了大量表的创建

表设计:

        数据源表:数据源标识,数据源描述

        数据项表:数据源标识,数据项键,数据值键

三.关系型数据库和非关系型数据库 

关系型数据库:数据与数据之间存在关系(联系)的数据库    mysql/Oracle、sqlserver

非关系型数据库:数据与数据之间是不存在关系的,如:key-value

有以下三种:1、基于文件存储的数据库:ehcache
                      2、基于内存存储的数据库:redis、memcache
                      3、基于文档存储的数据库:mongodb
 

四.map集合实现缓存原理 

注:在缓存中查找不到指定数据时,访问数据库获取数据,再将数据存放在缓存中。

package com.pjl.text;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * 利用map集合简易实现缓存原理
 * @author Administrator
 *
 */
public class EhcacheDemo1 {
	static Map<String, Object> cache = new HashMap<String, Object>();
	static Object getValue(String key) {
		Object value = cache.get(key);
		if(value == null) {
			System.out.println("hello zs");
			cache.put(key, new String[] {"zs"});
			return cache.get(key);
		}
		return value;
	}
	
	public static void main(String[] args) {
		System.out.println(getValue("sname"));
		System.out.println(getValue("sname"));
	}
}

展示效果:

五.ehcache的使用 

第一步:导入依赖  

  <dependency>
         <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.0</version>
        </dependency>

第二步:ehcache配置文件

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值