程序员主编霍泰稳,找到庄表伟,要找个人写介绍Cache的文章。
庄表伟推荐了我。前几天讨论Cache,正好可以写个总结。
于是,我就写了一篇。由于错漏在所难免,先发出来,和大家一起讨论,求得指正。
-----------------
Cache Insight
前言
首先,介绍一下我(作者)自己使用Cache的背景,以便读者更清楚地了解我下面要讲述哪些内容。
我主要是一个Cache实现者,而不是使用者。为了给一些ORM(比如JPA实现)提供Cache支持,我需要包装其它的Open Source Cache,并考察它们的特性。
我对这些Open Source Cache的一些工作原理,了解 ...
关于Cache部分,写了一篇
http://forum.javaeye.com/viewtopic.php?t=21631
下面写开发JPA Cache 的感受。
firebody 是一个信仰坚定,水平很高的 TDDer。
很荣幸加入他的JPA团队。让我体验了TDD,集成测试。
对TDD, test,我的看法是这样,由于目前,测试远远没有达到应该重视的程度,现阶段无论怎么强调都是不过分的。
同样,对于已经TDD已经强调够了的人们来说,也应该考虑超越TDD,而不是满足于现状。
JPA是一个相当大的项目。firebody控制的相当好。TDD功不可没。
需求分析,问题分解,to do lis ...
1. Remote Cache
Remote Cache 是对应于Local Cache来说的。
Key or Value 需要序列化,需要内部网络通信。
Remote Cache 可分为 中心Cache,和Cluster Cache。
Cluster Cache的一个要点是,只是remove的时候,传播 invalidate事件。
这样只需要在 update 的时候,进行传播。
好处是,读取的时候,比起中心cache,就少了一布内部网络通信。
坏处是,命中率比memcache低,因为memory是分开的。update多的时候,需要传播 remove/invalidate事件。
2. ...
分页 & QueryKey & 预取
数据库分页查询一般分为两步,
(1)根据查询条件,count 记录总数
(2)根据当前页的数据范围(起始位置offset, 每页数据个数span),从符合查询条件的记录集 取出对应范围的数据。
一、根据范围取数据的方法
如果单纯用JDBC从ResultSet中取出一个指定范围(offset, span)的数据,可以采用这样的方法。
[code:1]
ps = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ps.setM ...
数据库对象的缓存策略
前言
本文探讨Jive(曾经开源的Java论坛)和Hibernate(Java开源持久层)的数据库对象的缓存策略,并阐述作者本人的Lightor(Java开源持久层)采用的数据库对象缓存策略。
本文的探讨基于以前开源的Jive代码,Hibernate2.1.7源码,和作者本人的Lightor代码。
本文用ID (Identifier的缩写)来代表数据记录的关键字。
数据对象查询一般分为两种:条件查询,返回一个满足条件的数据对象列表; ID查询,返回ID对应的数据对象。
本文主要探讨“条件查询”和“ID查询”这两种情况的缓存策略。
本文只探讨一个JVM内的数据缓存策略,不 ...
- 浏览: 585659 次
- 性别:

- 来自: china

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
网上银行的安全操作设计探 ...
有道理,不知道建设银行的UKey有啥用?
-- by sjz209 -
网上银行的安全操作设计探 ...
有道理,不知道建设银行的UKey有啥用?
-- by sjz209 -
网上银行的安全操作设计探 ...
1、据了解,动态口令采用的就是楼主说的第2种机制,所以动态口令发生器会有一个容错 ...
-- by jxb8901 -
谁说搞技术的没有幽默感?
yyliuliang 写道部门老大宣布放一年长假,大伙欢呼雀跃,连作三个俯卧撑表 ...
-- by hongfei3 -
谁说搞技术的没有幽默感?
幸存者 写道为什么我觉得不好笑?是因为我没有幽默感么? bingoo
-- by roger






评论排行榜