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

网站对象缓存

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

相关行业资讯

1、网易企业邮箱动态邮件列表:降低维护成本提升管理效率
2、分享整站优化项目在操作过程中的心得体会
3、正规的网站建设公司有哪些特点
4、​企业邮箱申请时为什么要考虑收发稳定性
5、如何利用竞争对手来优化网站
6、网站设计的过程中需要避免的问题
7、做seo优化这些关键词要排到第一
8、网页设计应该怎样提升推广优化效果和用户粘度
9、建设商城网站是关键
10、如何才能建设一个好的的网站
11、SEO有没有必要什么都向大网站看齐
12、网站关键词排名缘何突然下降应该这样解决
13、网站设计需要注意导航规划
14、网站建设中二级域名的解析
15、优化知识之新手做新站如何做SEO优化
16、SEM及竞价定位的个人见解
17、什么原因造成快照不更新,如何解决呢
18、网站推广掌握方法,效果一定好
19、高端企业网站设计的重要性
20、新手怎样自己建网站之网站建设教程
21、AI人工智能未来发展领域展望
22、如何改变网站优化策略以及技巧
23、网站制作的设计师应该站在什么角度
24、企业网站设计社区类型网站
25、企业如何提高网站的自然优化排名
26、系统化的SEO网站优化包含哪些方面
27、网站打开速度慢怎么办
28、河北网站建设需要客户了解促进行业的发展
29、关键词优化布局时注意事项
30、库存站主网络推广方法综述
31、百度新首页看互联网的时势与运营
32、为什么有那么多企业找人做网站排名优化
33、网站制作要适合搜索引擎还得适合用户浏览
34、公司网站留不住用户的原因是什么
35、 项目定位和引擎定位
36、百度分词技能的运用技巧
37、小城市地方网站需要注意的5个方面
38、H5如何制作制作H5是否很难
39、企业网站的基础SEO诊断
40、如何设计吸引人的LOGO
41、网站不收录的因素有哪些
42、宜宾网站建设之六个优化要点
43、网页设计稳定性关乎网站运营效果
44、现阶段比较流行的网站风格
45、关于响应式建站的一些思考
46、网站的首页优化和整站优化
47、10个小插画,告诉你好设计师和差设计师的区别
48、网站分析Hacks之优化网上在线支付流程
49、企业做网站不可一知半解
50、曾经号称百万大军的个人站长们为何悲情
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号