DB/Cache/MVC/3-Tier...
有个同事和我介绍了他用c++写的东西,他大部分用c++, 比如说,经常同时会有很多人读取数据库,每次都要从数据库里读取,一则速度慢,还有数据库处理也慢。他们用c++实现cache, 就是把经常要读取的记录先在cache里,如果下个人要读的东西,正好也在cache当中,可以直接读取。可能还有很多其他的功能,由于时间受限,和他一个多小时。他着重给我讲讲了这一点。 原帖由 robbe 于 2005-11-5 02:01 发表有个同事和我介绍了他用c++写的东西,他大部分用c++, 比如说,经常同时会有很多人读取数据库,每次都要从数据库里读取,一则速度慢,还有数据库处理也慢。他们用c++实现cache, 就是把经常要读取的记录先在cache里 ...
晕倒
数据库本身就有Cache,
他这样再做岂不是很浪费时间和效率:o:o:o:o 我对数据库没有很多经验,只是上过Vorlesungen. 本来还想,如果进去的话,能好好学学的。哎,没机会。 :-( 原帖由 mib 于 2005-11-5 02:05 发表
晕倒
数据库本身就有Cache,
他这样再做岂不是很浪费时间和效率:o:o:o:o
因为可能是三层结构 这里只是业务层他们的目的是为了在提交远端请求前把已经在缓存中的请求过滤出去 当然这样他们会牺牲相当多的代码可移植性 原帖由 wero 于 2005-11-5 09:27 发表
因为可能是三层结构 这里只是业务层他们的目的是为了在提交远端请求前把已经在缓存中的请求过滤出去 当然这样他们会牺牲相当多的代码可移植性
原始数据库(DB1)--C++--过滤后的数据库(DB2)-- 页面程序(php,java,cgi)--客户端
为什么会牺牲代码的移植性?如果DB1和DB2的结构设计成一样的话,在这里把c++和DB2拿掉,程序还是可以正常运行.
如果客户端访问的是一个DB2中存在的数据的话,效率会比较高,但如果访问的是DB2没有的数据的时候,就不止慢一倍了. 原帖由 tadios 于 2005-11-5 11:32 发表
原始数据库(DB1)--C++--过滤后的数据库(DB2)-- 页面程序(php,java,cgi)--客户端
为什么会牺牲代码的移植性?如果DB1和DB2的结构设计成一样的话,在这里把c++和DB2拿掉,程序还是可以正常运行.
如果 ...
移植性重要是针对c和java 互操作来讲的
从java角度来讲 任何依赖local代码的调用无论是发生在本地还是远程,因为事实上已经跳出VM的管理,所以都会产生移植上的开销...而这里是基于页面也好 后台EJB也好 假设使用EJB的话
如果都是java应用的前提..
不知道我解释的清楚否
[ 本帖最后由 wero 于 2005-11-5 12:08 编辑 ] 原帖由 tadios 于 2005-11-5 11:32 发表
原始数据库(DB1)--C++--过滤后的数据库(DB2)-- 页面程序(php,java,cgi)--客户端
为什么会牺牲代码的移植性?如果DB1和DB2的结构设计成一样的话,在这里把c++和DB2拿掉,程序还是可以正常运行.
如果 ...
另外 你列的DB2和我想的不一样 我觉得应该是db1(model) controller tier,so called db2 , view tier(jsp...)
还有一点我忘记说了 如果他们使用的是MS的东西 那么有c++和ASP互操作的可能性 不知道我解释的清楚否
这个清楚了
db1(model) controller tier,so called db2 , view tier(jsp...)
这个不是很明白 想不到这里有这么多的高手阿,自己要好好学习,补充各种知识啊。我对很多都是了解一些,在大学学习,也就是用java,和c++编projekt的东西。没有实际经验。谢谢大家对我的鼓励!希望下次面试能有个好运气。 原帖由 tadios 于 2005-11-5 12:19 发表
这个清楚了
这个不是很明白
欧这个不是MVC架构吗
数据db1 model
db2及logic processing 对应controller
asp,jsp对应前端
其中db2可以作为controller的一个所谓 可委托代理delegate存在,但缺点是 这里必须有本地化脱离jdk的调用