Cache数据库

Cache数据库,第1张

以我三甲医院运行CACHE6年的经历来说,CACHE确实不太适合中国大规模三甲医院使用。数据复杂度高,标准多,更改勤,这是美国医院相对少见的。 医院已经使用CACHE6年多,天天看着这个东西,我相信比那些写q文的人更有发言权。 1 性能问题:现在不到4000万条记录,15T的信息量,CACHE都会速度超慢。查询3个月以上的数据就会死掉。别相信那些CAHCE市场材料宣传的东西。医院系统的复杂性不在绝对记录数量,而在高度的复杂度。 2 一旦上线,分库困难。数据库越来越膨胀,速度越来越慢,最后小型机用了四年后都不够用了,还得升级小型机。我们医院当年购买ibm小型机可是很快的,可是都赶不上膨胀的速度 3 死数据。由于OO架构限制,如果对象做了修改,而且又已经有了实例数据,那么这个对象不能进行删除(我是指业务上),时间长了之后,导致垃圾逐渐增多,不少已经定义的实例,导致速度慢,错误多。如果曾经做过OO编程的人,考虑一下定义n多对象并且有两大数据之后,突然要你修改某层对象架构(很多时候还是翻天覆地的变化)的时候,那种感觉和心情。 4 锁定:Cache的数据库锁机制及其弱智,懒得说。好在医院的数据多是增加,很少有删除的情况,要不早出现很多乱子了。问了几家大型his公司总工级别的人物,对于锁都答非所问。让人心寒。 5 基于OO的数据库并不成熟。在我多年使用中,感觉不如 RDB + XML的混合方式解决方便。OO非常适合抽象,但是如果这个对象经常都在改,那简直就是生不如死了。有人会说,对象会经常改吗?——那到医院来看看吧。随着医疗信息化的深入,需要改的地方只会增多,不会减少。我们从基于cache信息化厂商那里得到的“不能”已经越来越多了。 6 资料匮乏:使用的人少,资料奇缺,人材很少。自带的CSP界面极差,功能很弱。编程语言晦涩难看,一点都不优雅(这点是个人意见),上网能找到的文章都是q文,我从来没有在中文网上找到什么非常深入的cache数据库分析文章;公司实力有限(相对于ms,oracle),一个CSP溢出漏洞都要改半天。没有大量的人使用,金子也会变成垃圾。 7 不知道那些q文里边写的安全性很高是什么意思?我看了半天DOD TCSEC的档案,抱歉,没有发现CACHE的影子 8 数据迁移问题。现在很多系统,基于RDBMS的,例如oracle、ms sql server 都很容易切换,但是如果转入cache,就像上了贼船,上去容易,下来难了。想后悔都没有机会。不是说绝对不能转换出来,而是很多困难。你没有失败的backup 9互联问题。现在健康档案互联,区域医疗信息化等,都是时代发展需要。懂行的人自己考虑一下其中难度,不懂行的人说了也是白说。

所谓公共指的cache只要一创建是任何一个客户端浏览器都可以通过后台代码访问到它,它面向的是所有用户,相对而言session也是服务器上的一段内存,但他面向的是单个用户。它是服务器的一段内存块,也就是说每个cache一经创建就占用了服务器资源的。所以从这点来说我们就可以说:并不是cache越多越好。cache 是有时间限制的,超过了服务器设定的过期时间,它就会被服务器回收。cache 可以存放任何对象在DotNet环境下通过CacheInsert(string key,object o)方法创建。其中key 代表cache的ID,o代表存到cache里的对象。销毁cache 通过方法CacheRemove(string key)其中key 代表cache的 ID调用cacheCache支持装箱/拆箱 *** 作。如你可以把一个DataSet对象ds通过CacheInsert(dsCache,ds)的方式存到Cache中,可以通过拆箱 *** 作DataSet ds = (DataSet)Cache[dsCache]来访问它。Cache 一般用于数据较固定,用的较频繁的地方。例如可以把进销存系统中可以把产品信息存入cache,在用户调用产品信息时通过调用cache即可,这样从很大程度上减少了用户与数据库的交互,提高了系统的性能。反之,cache不适合用在数据变动快,使用范围很窄的地方。例如把一个具体采购单存入 cache中。4cache 调用注意事项Cache是有时间限制的。超过了服务器设置的过期时间,就会被服务器回收。当cache被回收后对应的内存块就会被清空,再次通过cache[cachekey]访问对象时返回的就是null值。所以以下这种调用就会出现异常DataSet ds = (DataSet)Cache[cacheds];DataRow dr = dsTable[0]Row[0]; //出错,ds为null值,不存在表0。正确的写法应该是:DataSet ds;if(Cache[cacheds] != null){ds = (DataSet)Cache[cacheds];}else{

大体可以这样和你说吧。。好理解。。。

1 内存级缓存。 - xcache memcached等

2 文件级缓存。(数据缓存和模板缓存) - 就是把一些本来要查询数据库的东西 直接把数据取出来写到文件 用的时候读出来。。。。

3 模板引擎。。。跟服务器支持不支持没关系。。。。

4 web应用的性能瓶颈通常情况下, 是出现在数据库上的。 包括一些大数据量下的检索等 。

5 数据库连接池。。额。。。 你说的是长连接吧? PHP本身是。。。那啥的。。。执行完之后就全部销毁了。。。。

1、安装cache之前必须先安装IIS。 //用来解析CSP

IIS在控制面板->添加或删除程序 ->添加/删除Windows组件 ->Internet信息服务(IIS)添加;

2、cache(Ensemble)安装步骤总共十二步;

3安装完成后 shutdown数据库。

4拷贝原库Cachecpf到EnsembleSys根目录下,cpf中主要配置数据库存放路径,根据事情情况可以自己修改cpf文件,或者在System management Portal->Local Databases->Home->Configuration->Local Databases->Edit;

5拷贝Cachekey到EnsembleSys\Mgr根目录下;

以上就是关于Cache数据库全部的内容,包括:Cache数据库、什么是Cache、php的cache等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9408619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存