您的位置:首页 > 其它

传智播客Hibernate视频教程学习笔记38

2009-08-07 08:41 369 查看
缓存原理分析及模拟:

希望在前后两次访问同一条记录的时候,不要每次都访问数据库,那么就采用缓存机制,第二次访问同一个对象的时候就从缓存里取而不从数据库中读,下面是一个简单的模拟。

public static Users getUser(int id){
String key = Users.class.getName() + id;
Users user = (Users)cache.get(key);
if(user != null){
return user;
}
user = (Users)HibernateUtil.get(Users.class, id);
cache.put(key, user);
return user;
}

public static void updateUser(Users user){
HibernateUtil.update(user);
String key = Users.class.getName()+user.getId();
cache.remove(key);
}


发现缓存就是一个map,这里需要注意的是key值,这里设计的是类名+id号,这样放入Users对象和Employee对象时候也不会冲突。还有就是update这类更改的语句,需要在缓存中更改值或者删除值,以免读脏数据。

实际上的缓存复杂的许多,需要考虑缓存的大小,数据在缓存中的时间等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: