日期:2014-05-20  浏览次数:20672 次

java 能不能实现这样的要求,数据先到内存再被调用和保存


 能不能用java 的框架实现图片所画的功能呀 高手们 ?

 为了提高效率,能不能这样做?
 
 因为插入数据频繁,要查询的数据频繁。还有个特点就是查询只查最近更新的一条!所以就想到了图中画的流程,
那位大虾指教一下 ?给个 代码例子 

 


------解决方案--------------------
Java code

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class Cache {
    private Map<Serializable, Object> cache = new HashMap<Serializable, Object>();

    public synchronized void save(Object entity) {
        // TODO:存入數據庫,返回ID
        Integer id = 1;
        // TODO:給實體對象設置ID
        cache.put(id, entity);// 存入緩存
    }

    public synchronized void remove(Serializable id) {
        cache.remove(id);
        // TODO:從數據庫中刪除
    }

    public synchronized void update(Serializable id, Object value) {
        cache.put(id, value);// 更新緩存
        // TODO:更新數據庫
    }

    public Object get(Serializable id) {
        return cache.get(id);
    }
}

------解决方案--------------------
我个人认为这样不安全,如果存在内存里,数据的安全属很差!
假如服务器突然停电了或都服务器出现问题等等,那数据是否就都丢失了!
我是说假如哈。。
------解决方案--------------------
相当于在内存中做个cache?
------解决方案--------------------
不知道你原来更新页面的操作是怎么实现的,
看你的意思好像是每次都查库?
要是这样的话,就小改一下,走一个缓存,库-》缓存-》页面

这样当你有新数据更新的时候 入库、更新缓存、再根据缓存更新页面就行了