锁定老帖子 主题:关于缓存的想法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-07
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-07
我现在想到第一个问题,就是像用hsql来作为cache的话,在数据很大的时候,到GB级别的时候,会不会不稳定
|
|
返回顶楼 | |
发表时间:2007-10-07
“不好的缓存策略其实只是内存泄露的另一个代名词”。
“缓存只和策略有关”,和具体体现方式关系不大。 -- the old new thing. |
|
返回顶楼 | |
发表时间:2007-10-07
问题大大的。。。
你一个记录一个记录的操作或许不会有问题,可是当你批量操作的时候,你怎么保证所需要的数据都在缓存中?难道每次操作还要去同步所有需要操作的数据? sql支持的操作强项就是批量,而对单个记录操作就是杀鸡用牛刀了(性能也远远不如hash表有效),所以sql型的数据库并不很适合用作缓存(除非你有很特殊的应用)。 想用数据库作为缓存的话,推荐用oodb一类的,他们擅长于对单个对象的存取,适合作磁盘缓存。他们在内存中的结构也是类似于一个hash表。 |
|
返回顶楼 | |
发表时间:2007-10-07
memcache 更适合在业务层或更高的层次来做,
考虑到可以把cache平行分布到多个memcached节点上,扩展能力是非常惊人的,特别适合海量数据高并发读取时采用。 |
|
返回顶楼 | |
发表时间:2007-10-07
海量数据就很难了
|
|
返回顶楼 | |
发表时间:2007-10-08
haihai 写道 我现在想到第一个问题,就是像用hsql来作为cache的话,在数据很大的时候,到GB级别的时候,会不会不稳定
据robbin说,hsql是单线程的,无法处理并发访问的情况。他建议考虑MySQL的内存表 |
|
返回顶楼 | |
发表时间:2007-10-08
引用 movingboy haihai 写道 我现在想到第一个问题,就是像用hsql来作为cache的话,在数据很大的时候,到GB级别的时候,会不会不稳定 据robbin说,hsql是单线程的,无法处理并发访问的情况。他建议考虑MySQL的内存表 我还不清除hsql是单线程的,不一定就是hsql,也可以用derby,berkelyDB,当然那两个也没有怎么看过,用myql的内存表,数据会持久化到硬盘吗,不知道mysql还有个内存表的功能。 |
|
返回顶楼 | |
发表时间:2007-10-08
引用 timerri 问题大大的。。。 你一个记录一个记录的操作或许不会有问题,可是当你批量操作的时候,你怎么保证所需要的数据都在缓存中?难道每次操作还要去同步所有需要操作的数据? 这个问题用memcache也存在啊,要想百分之百命中缓存,就只有把所有数据都缓存了,不过你说的用oodb,到是不错,我也想过 |
|
返回顶楼 | |
发表时间:2007-10-08
开篇第一句话就是菜鸟级的:现在基本对数据库的操作出现性能问题的时候,第一个想到的是缓存。
你去问问你们公司的DBA会同意你这句话么? 缓存不是用来解决数据库性能问题的方案! |
|
返回顶楼 | |