网站架构之缓存应用(1)概念篇

news/2024/5/14 21:13:27/文章来源:https://blog.csdn.net/jiav_net/article/details/83812447

网站缓存这个话题并不新颖,但是能否将它用好,可是一门学问,同一件工具在不同人的手中会做出不同的事情来。这里我来分享总结下我对于网站架构中缓存应用的一些看法和经验,大家有好的想法可以补充。
   
    第一:缓存的一些基本概念。
        1:缓存(CACHE)与缓冲(BUFFER)的区别,我认为缓存可以在某种程序上理解成一级缓存(Primary Cache),数据全局共享。缓冲则属于二级缓存,只对一部分对象共享数据,二级缓存在某种程序上主要是降低一级缓存组件的访问压力以及提高缓存的存取效 率。
        2:缓存的一些基本属性:命中率,表示缓存命中的次数/总的请求数,这是缓存设计的重要质量指标之一;缓存执行效率,例如GET,INSERT,DELETE等;容量,即缓存介质的容量最大值;成本,即开发成本,部署成本,软硬件成本。
        3:缓存的问题,存储介质的选择往往左右缓存的设计,缓存在不命中时往往会使性能下降。
    第二:网站中缓存的应用场景:
        1:可以缓存整个页面的html,提高访问响应能力;
        2:针对局部页面元素进行缓存;
        3:对复杂数据的结果进行缓存,例如一个查询需要结合多个数据集,然后根据这些数据集进行相应的运算,即使每个子集查询有缓存,但还是需要额外的运算,这种情况可以考虑缓存计算后的结果。
        4:对耗时的查询进行缓存,例如产品列表页的查询。
        5:和上下文相关的用户数据,例如用户从订单埴写页进入到订单成功页,或者是从产品列表页点击详细产品进行预订时的订单填写页,此时这两个页面之间都需要传递大量的相关数值,我们可以把所有的数值封装在一个类中,然后通过缓存进行通信。
    第三:影响缓存命中率的因素。
        1:数据时实性,每个业务系统都对自己的数据有相应的要求,有些数据的实时性非常强,像每日的股票信息,这种情况如果设置了缓存,缓存的命中率会特别低。
        2:缓存粒度问题,一般来说是缓存的跨度太大,即此时的KEY值包含的条件太多,会出现缓存命中率特别低的情况。
    第四:提高缓存命中率的方法:
        1:增大存储介质的容量;
        2:对非常热点的数据进行捕捉,可以采用实时更新缓存的方式来平衡缓存与实时性的问题,例如可以单独开启一个后台服务来定时做更新缓存的工作。
        3:调整缓存KEY值的算法,尽量保证缓存KEY的细粒度,KEY-VALUE就是很好的细粒度例子。
        4:根据业务调整缓存的过期策略。
       
    第五:如何实现缓存组件:
        1:采用二级缓存架构,即在web server上设置二级缓存,这里的二级缓存即上面的提到的缓冲,只对具体的webserver进行数据共享,二级缓存可以考虑采用微软企业库的缓存组件 来完成。由于一级缓存的实现往往都是单独的服务器,为了减少缓存服务器的压力,在webserver上对数据进行缓冲,在降低缓存服务器压力的情况下最大 的好处在于缓存的存取速度上。
        2:一级缓存由单独的缓存服务器来完成,至于缓存服务器采用哪种缓存方案,可以根据不同的场景来决定。如果考虑到部署的方便性,可以采用微软企业库来完成一级缓存,如果服务器允许,可以采用memcached来实现。
        cache服务器采用微软企业库实现的优缺点:
        1:优点,开发以及部署都非常容易,不需要安装第三方软件等等;
        2:缺点,需要自己开发客户端功能以实现分布式,这里我们可以采用一致性hash算法来实现,同时如果服务以WCF形式公布开,在访问效率上也不是最优的,比起memcached的通信方式要差一些。
        memcached的优缺点:
        1:优点,通信方式比起wcf要高;
        2:缺点,需要第三方服务的支持,需要在服务器上安装memcached服务,这好像也不是什么重要的缺点。


        最后,贴出网站网页在数据访问上的流程图,供大家参考,在下面的文章中我会把实现的方案分享出来。
     
       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_884134.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

Asp.Net 网站优化 数据库优化措施 使用主从库(上)

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求;这时候我们可以考虑使用主从库。 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作最新数据的查询操…

51la网站计数器

时间没有等我,可是我发现我自己在等自己 不知什么时候,我突然发现,最近我好像一直在停滞不前,我不能这样了 要找到从前的我,慢慢的静下心来开始学习吧。 弄了一个网站计数的东东放在下面,也计数一下自己的博…

网站优化:测试网站速度的8款免费工具推荐

网站的加载速度是决定网站成败的重要因素,值得站长特别关注。原因很简单,没有人愿意为了打开一个网页而等老半天,换句话说,如果你的网站打开速度很慢,将流失大量的访客,甚至出现多米诺效应的不良影响&#…

快速用Discuz搭建论坛网站教程

Discuz! 是全球成熟度最高、覆盖率最大的论坛软件系统之一。自 2001 年 6 月面世以来,Discuz! 已拥有 15 年以上的应用历史和 200 多万网站用户案例。目前,Discuz! 已经发展成为一个以社区为基础的专业建站平台,让论坛(BBS&#x…

几个简单步骤可以提高网站浏览体验

STEP 1确定网站定位 你的网站定位是要以企业形象官网为主,或是以单纯贩售商品的购物网站,还是要跟使用者做互动活动的网站? 每个网站的目的都不尽相同,形象官网,可能需要着重于品牌理念、品牌故事、公司介绍等等&#…

中小企业怎么选择适合自己的网站建设公司_企业全网营销怎么做

做营销推广接近8年的时间,在这个过程中,经常会和一些企业站长和老板交流;很多时候老板都是在关注我的网站关键词排名怎么能够快速上首页,有没有好的方法,站长主要关注的是文章内容怎么写,怎么原创&#xff…

【全套攻略】关于建站、服务器、云虚拟主机你想知道的都在这里!

将普惠进行到底!全民云计算,云服务器30/月 共享虚拟主机普惠版,特价6元/年 学生专享 | 云翼计划1折特惠,9.9/月 9款企业免费套餐,最长6个月免费使用 除了特惠大礼包,还为大家准备了建站全套攻略。在建站这条…

一步搭建phpwind网站

首先我们把服务器停止,然后更换系统盘 选择我们的网站phpwind 在安全组配置添加80端口 打开网页安装即可 阅读原文 转载于:https://my.oschina.net/u/3471671/blog/914753

帮程序员减压放松的10个良心网站

阅读全文 程序员们工作之余,不妨放下微博跟朋友圈,今天推荐的网站,利用代入感强的图片与音频,迅速帮你抹平焦虑,获得平和心态,特别献需求改千遍的程序员们。 1.Calm 这是同类型中最火的网站了,站…

真材实料的分布式资料-试读《大型分布式网站架构设计与实践》有感

读后感 逐字逐句看完《大型分布式网站架构设计与实践》第2章,意犹未尽!如标题所言,这是一本“真材实料的分布式资料”,它与我看过的分布式书籍(如《大型网站系统与Java中间件实践》)不同,本书重…

我的V360i手机软件、游戏以及手机网站等

我的V360i手机软件、游戏以及手机网站等 作者:辛晶晶 日期:2006-11-27 字体大小: 小 中 大 在手机论坛下载了几个软件和游戏移动英汉双向词典、列车时刻表;打砖块、极品飞车2、雷电、泡泡龙、连连看。下载地址http://xjj.name/download/打砖块.rar http://xjj.name…

网站性能优化实战—从12.67s到1.06s的故事

本文是对之前同名文章的修正,将所有webpack3的内容更新为webpack4,以及加入了笔者近期在公司工作中学习到的自动化思想,对文章内容作了进一步提升。 0.引言 作为互联网项目,最重要的便是用户体验。在举国“互联网”的热潮中&…

一些实用的前端框架网站分享

使用前端web框架以及插件说明 2.1选择前端web框架,我找了很多框架,以前学过自学过bootstrap觉得对于没有前端web设计经验的我来说很方便,就在极客学院自学了前端,然后找了一些相关的前端免费教程看了一下,慕课网也有部…

为什么有的网站需要做CDN加速呢?

现在,越来越多的用户建站购买云服务器时,都会额外的购买CDN加速,网站使用CDN加速已经逐渐成为一种新的趋势。那么,为什么有的网站要使用CDN加速?CDN加速有什么作用呢?解决这个问题,我们需要先了…

做了网站要部署到服务器上,应该怎么选择服务器?

服务器可以分为两种:物理机和云服务器 物理机要么是自己有机器,托管到IDC机房,由机房提供带宽,环境,和维护。服务器硬件如果出现问题,需要自行采购硬件邮寄到机房,时间比较长。自己购买配置的服…

一般选择什么云服务器做网站?

在互联网高速发展的当下,很多企业网站面临着一个严重的安全威胁: 互联网上出现越来越多的网络攻击,导致网站和用户信息安全出现问题。比如网站服务器经常遭遇的DDoS攻击,这类攻击如今实施起来越来越容易,频率也是越来越…

网站使用大带宽服务器有什么优势?

随着国内服务器市场的崛起,大带宽服务器也逐渐进入大众视野,很多用户已经不再局限于租用普通服务器,而是更加倾向于有特定性配置的服务器,比如我们刚刚提到的大带宽服务器。为什么使用大带宽服务器的用户数量依然在增加呢&#xf…

Apache JMeter--网站自动测试与性能测评

出于学习热情,翻译总结Emily H. Halili的《Apache JMeter》一书的部分内容。 JMeter的简介 可以肯定的是,JMeter至少符合以下几条自动测试标准: 零购置成本--直接从http://jakarta.apache.org/site/downloads/downlo…

ALEXA中国网站排名真相调查[内幕调查:出卖Alexa]

在Google上搜索“Alexa”,简体中文的结果有7万多条。现在,“Alexa排名”已经是国内网站的站长们嘴边最常挂的单词。那么,这个Alexa是干嘛的?它 凭什么令国内网站侧目?Alexa有哪些鲜为人知的秘密?本报记者通…