深圳易捷网络科技财税咨询网-neatmaster518.com 返回首页

网站对象缓存

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2024/12/22
对象缓存用于存储会被应用再用到的对象。这些对象通常来自数据库,或由计算或应用操作生成。这些对象几乎都是有序对象,会被排列或组编成有序的格式,以便最小化内存占用量。在获取这些对象时,它们的排序会被打乱或解编,以转换成原始的数据类型。所谓组编,就是把对象的内存表示形式转换成字节流或字节序列进程,以便存储或传输。所谓解编,就是把字节流表示的对象解码成原始的对象格式的进程。如果使用了对象缓存,应用必须注意到它们,并且实现操作缓存的方法。
操作缓存的基本方法包括把数据加人缓存、从缓存中获取数据以及更新数据。通常在缓存中添加数据叫做set,从缓存中获取数据叫做get,更新数据是replace。许多程序设计语言对最流行的缓存都已经有内置的支持。memcached是当前最常用的缓存之一。它“本质上是一种高性能的分布式内存对象缓存系统,但目的在于通过减轻数据库的负载来加速动态的Web应用”。这种特殊的缓存使用了非常快的无阻塞网络输入输出(IO),它自身具备防止内存分片的slab分配器、可以确保分配是的,即不论数据多少都能够在常数时间内进行计算。
正如在memcached的描述中所说的,它主要是通过减少对数据库的请求,从而加速了Web应用。这种方法是合理的,因为数据库几乎总是应用层中获取数据最慢的设备。在关系数据库管理系统中,实现ACID(原子性、一致性、隔离性、持久性)属性的额外支出是很高的,尤其是要从硬盘读写数据时。但在某些情况下,在系统的其他层之间使用对象缓存层,也是完全正常和明智的。
在一个典型的两层或者三层架构中,放置对象缓存最好的方法是把它放在数据库层之前。正如前面提到过的,这是因为数据库层通常是整体执行速度最慢的层,也通常是扩展最贵的一层。其中有一个Web服务器层、一个应用服务器层和一个数据库层。这里不止有一个对象缓存,而是有两个。一个对象缓存位于应用服务器与数据库层之间,另一个位于Web服务器与应用服务器之间。如果应用服务器要执行大量可缓存的计算或操作,那么这种设计是很合理的。这样可以使应用服务器不必总是重复计算相同的数据,而是可以把结果缓存起来,从而减轻了应用服务器的负载。与数据库的情况相似,这个缓存层可以在不添加硬件的情况下,帮助应用服务器层扩展。缓存的对象很可能是来自数据库或应用服务器的完整数据集的子集。例如,Web服务器上的应用代码可能会利用缓存存放用户权限对象,但是不会存放交易金额,因为用户权限不经常改变且会被经常访问,而每个交易的交易金额可能各不同且只会被访问一次。
数据库的ACID属性
原子性、一致性、隔离性、持久性(ACID)是数据库管理系统采用的属性,以确保交易是完全可靠的。
原子性是数据库管理系统的属性,可以确保一个交易的所有任务都被完全执行了,或者整个交易都被回退了。硬件或软件的故障不会造成交易只完成了一半。
一致性是确保交易前和交易后数据库保持稳定状态的属性。如果一个交易成功了,它会把数据库从一个有效状态转换到另一个符合一定规则的有效状态。
隔离性是在一个交易操作数据时,防止另一个交易访问它的属性。大多数数据库管理系统都采用数据库锁来确保隔离性。
持久性这个属性指的是在系统把交易标记为成功后,交易就会保持为完成的、不会回退的。所有的一致性检查必须在交易被认为是完成了之前完成。
如果你在网站建设数据库或应用服务器中有经常被访问但却不经常更新的数据,那么使用对象缓存就非常合理。要减少负载,首先查看的就是数据库,因为它通常是最慢也是最贵的一层。但除此之外,还要考虑一下系统中的其他层或池,看看哪里需要对象缓存。另一个可能需要对象缓存的地方是集中的会话管理缓存。如果你使用了会话数据,我们建议你首先尽可能地减少会话数据。如果你可以避免使用会话,那么就根本不要采用它们,因为它们在基础设施和架构方面,实现成本都很高。如果你不能避免使用会话,我们建议你考虑集中的会话管理系统,这样可以把请求发送到任何一个Web服务器上,会话可以从一个服务器转移到另一个服务器上,不会造成任何干扰。这样通过一个负载均衡的解决方案,你就能够更有效地利用Web服务器,而当发生故障时,也可以以最小的干扰,把用户从一台服务器上转移到另一台服务器上。你可以继续检查自己的应用,找到更多可以应用对象缓存的地方。

相关行业资讯

1、从搜索引擎排名展现的方面谈网站标题该如何写
2、SEO优化之文章标题的优化
3、我们选择WordPress作为博客平台的6个理由
4、谈网站结构如何利于用户体验
5、怎样才能把一个企业网站建设好
6、百度竞价的未来你怎么看
7、企业网站改版务必注意哪几个问题
8、百度排名优化这个行业需要大家一起来拯救
9、网站优化要从哪些方面着手
10、网站优化中的三大标签注意事项有哪些
11、网站建设浅谈免费的搜索引擎推广
12、网站优化:谷歌SEO相关性算法实验操作分享
13、网站建设时怎样与建站公司沟通
14、从移动互联网的崛起看LBS兴起和O2O概念
15、响应式设计中的常见难点
16、深圳做网站优化如何挖掘长尾关键词
17、万网备案系统操作流程图
18、网站建设认为网站设计不可忽略
19、企业网站制作,你要呈献给用户什么
20、同样是做网站,价值却天差地远
21、外链对网站优化有哪些重要怎样
22、网站内部优化过程中需要注意的事项
23、博客更新有技巧
24、手机网站建设过程中需要注意哪些地方
25、说说网站建设模板网站有什么弊端
26、写好软文是我们做好一个站长的基础
27、网站seo如何优化
28、网站快照日期更新内容不更新的原因探究
29、企业网站设计融合发展
30、企业如何做网站才能做的高大上
31、网站只有跟随用户心理才能让站内优化达到极致
32、建设优秀网站的必知的小技巧
33、用户体验一直伴随在网站制作和维护的过程中
34、应对百度算法:万变之永远不变的SEO法则
35、新手必须知道的企业网站优化排名原则
36、建站前如何做好细节工作建设
37、山东莱芜网站建设如何满足网站功能需求
38、怎么制作网页 有哪些基本流程步骤
39、公司网站建设推广的目的是什么
40、seo优化中的链接都包含哪些方面
41、被人所遗忘的网站SEO根本:外链误区篇
42、如何增加网站的外链有哪些注意事项
43、网站建设做网站优化的六个注意事项
44、网站建造搜索引擎优化中关于H标签的优化战略
45、这些实用方法进行网站推广更有效
46、企业网站的精髓在于完美的设计和前端创意
47、相似度降低手法以避免影响优化
48、不同网站的SEO优化策略怎么做
49、搜索引擎的蜘蛛是如何爬的,如何吸引蜘蛛来抓
50、公司网站制作的流程
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号