传智播客Hibernate视频教程学习笔记38
2009-08-07 08:41
369 查看
缓存原理分析及模拟:
希望在前后两次访问同一条记录的时候,不要每次都访问数据库,那么就采用缓存机制,第二次访问同一个对象的时候就从缓存里取而不从数据库中读,下面是一个简单的模拟。
发现缓存就是一个map,这里需要注意的是key值,这里设计的是类名+id号,这样放入Users对象和Employee对象时候也不会冲突。还有就是update这类更改的语句,需要在缓存中更改值或者删除值,以免读脏数据。
实际上的缓存复杂的许多,需要考虑缓存的大小,数据在缓存中的时间等等。
希望在前后两次访问同一条记录的时候,不要每次都访问数据库,那么就采用缓存机制,第二次访问同一个对象的时候就从缓存里取而不从数据库中读,下面是一个简单的模拟。
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这类更改的语句,需要在缓存中更改值或者删除值,以免读脏数据。
实际上的缓存复杂的许多,需要考虑缓存的大小,数据在缓存中的时间等等。
相关文章推荐
- 传智播客Hibernate视频教程学习笔记3
- 传智播客Hibernate视频教程学习笔记7
- 传智播客Hibernate视频教程学习笔记28
- 传智播客Hibernate视频教程学习笔记52
- 传智播客Hibernate视频教程学习笔记4
- 传智播客Hibernate视频教程学习笔记8
- 传智播客Hibernate视频教程学习笔记26
- 传智播客Hibernate视频教程学习笔记49
- 传智播客Hibernate视频教程学习笔记17
- 传智播客Hibernate视频教程学习笔记23
- 传智播客Hibernate视频教程学习笔记30
- 传智播客Hibernate视频教程学习笔记43
- 传智播客Hibernate视频教程学习笔记54
- 传智播客Hibernate视频教程学习笔记5
- 传智播客Hibernate视频教程学习笔记9
- 传智播客Hibernate视频教程学习笔记29
- 传智播客Hibernate视频教程学习笔记42
- 传智播客Hibernate视频教程学习笔记50
- 传智播客Hibernate视频教程学习笔记53
- 传智播客Hibernate视频教程学习笔记18