Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » 高性能Java数据库缓存  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
reply to postflat modethreaded modego to previous topicgo to next topicgo to back
作者 列表缓存的树状存储办法
liuaike



版主


发贴: 20
于 2008-10-22 16:17 user profilesend a private message to userreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
只是提出思路,自己没有实现。

本人思索用树状结构改善缓存命中率的办法,这种缓存办法命中率更高,也不需要遍历,所以性能上不会太差,但是每个列表可能需要多从HashMap里get几次。基本思路如下:假设一个对象O.java包含A、B、C、D四个域,对应的表T包含a、b、c、d四个字段。那么对T表的任何查询都会包含abcd四个条件中的若干个,如查询条件是“等于”的则都做散列,如果查询条件不是“等于”的则全放在一起。那么最后缓存的树状结构如下,用遍历即可实现要删除的节点。

凡是不确定的条件查询(如<,>,like等都放入到other这个Map中),可能有点抽象,但这种缓存命中率更高,如下图。

(缩略图,点击图片链接看原图)




话题树型展开
人气 标题 作者 字数 发贴时间
13457 列表缓存的树状存储办法 liuaike 301 2008-10-22 16:17

reply to postflat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923