#深入理解计算机系统

高并发系统设计(十):【缓存的正确使用姿势】如何选择缓存的读写策略?

原文链接:https://www.cnblogs.com/wt645631686/p/13198336.html 在更新数据时不更新缓存,而是删除缓存中的数据,在读取数据时,发现缓存中没了数据之后,再从数据库中读取数据,更新到缓存中。   这是使用缓存最常见的策略,旁路缓存策略,...

高并发系统设计(九):数据库和NoSQL如何做到互补?及其缓存加速的两面性

原文链接:https://www.cnblogs.com/wt645631686/p/13196163.html数据库系统大多使用的是传统的机械磁盘,对于机械磁盘的访问方式有两种:一种是随机IO;另一种是顺序IO。随机IO就需要花费时间做昂贵的磁盘寻道,一般来说,它的读写效率要比顺序IO小两到三个数量级,所以我们想要提...

高并发系统设计(八):分库分表后ID的全局唯一性策略(发号器)

原文链接:https://www.cnblogs.com/wt645631686/p/13195329.html在单库单表的场景下,我们可以使用数据库的自增字段作为ID,因为这样最简单,对于开发人员来说也是透明的。但是当数据库分库分表后,使用自增字段就无法保证ID的全局唯一性了。先说一下UUID,UUID(Univer...

高并发系统设计(七):【Mysql数据库的优化】主从读写分离、分库分表

原文链接:https://www.cnblogs.com/wt645631686/p/13192920.html主从读写分离其实,大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级,那么这就是我们所说的主从读写分离。主从复制的原理这里不再阐述,本人博客里有关于Mysql主从的配置文章,当然里面也介绍了原...

高并发系统设计(六):如何减少频繁创建数据库连接的性能损耗?

原文链接:https://www.cnblogs.com/wt645631686/p/13192761.html 数据库的调用方式是先获取数据库的连接,然后依靠这条连接从数据库中查询数据,最后关闭连接释放数据库资源。这种调用方式下,每次执行SQL都需要重新建立连接,频繁地建立数据库连接耗费时间长导致了访问慢的...

高并发系统设计(五):【系统设计目标③】如何让系统易于扩展?

原文链接:https://www.cnblogs.com/wt645631686/p/13190894.html 数据库、缓存、依赖的第三方、负载均衡、交换机带宽等等都是系统扩展时需要考虑的因素。我们要知道系统并发到了某一个量级之后,哪一个因素会成为我们的瓶颈点,从而针对性地进行扩展。比方说,你系统的流量是每...

高并发系统设计(四):【系统设计目标②】系统怎样做到高可用?

本文原链接: https://www.cnblogs.com/wt645631686/p/13190832.html通常来讲,一个高并发大流量的系统,系统出现故障比系统性能低更损伤用户的使用体验。可用性是一个抽象的概念,你需要知道要如何来度量它,与之相关的概念是:MTBF和MTTR。MTBF(MeanTime...

高并发系统设计(三):【系统设计目标①】如何提升系统性能?

本文原链接:https://www.cnblogs.com/wt645631686/p/13190721.html高性能:反应了系统的使用体验,想象一下,同样承担每秒一万次请求的两个系统,一个响应时间是毫秒级,一个响应时间在秒级别,它们带给用户的体验肯定是不同的。高可用:则表示系统可以正常服务用户的时间。举例,还是两个...

高并发系统设计(二):架构分层:我们为什么一定要这么做?

本文原链接: https://www.cnblogs.com/wt645631686/p/13190536.html在系统从0到1的阶段,为了让系统快速上线,我们通常是不考虑分层的。但是随着业务越来越复杂,大量的代码纠缠在一起,会出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。我...

高并发系统设计(一):它的通用设计方法是什么?

本文原文链接:https://www.cnblogs.com/wt645631686/p/13189660.html 路漫漫其修远兮,吾将上下而求索高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让...

理解PHP 依赖注入与容器

<?php//依赖注入与容器classLuntai{functionroll(){echo"这是轮胎类::";}}classBmw{protected$Luntai;//注入方式---构造函数注入,还可通过set方式注入function__construct($Luntai){$this->Luntai=$...

winform学习-----理解小概念-20160517

1、MouseDown事件当鼠标指针位于控件上并按下鼠标键时发生。2、MouseUp事件当鼠标指针在控件上并释放鼠标按键时发生。与mouseout事件不同,只有在鼠标指针离开被选元素时,才会触发mouseleave事件。如果鼠标指针离开任何子元素,同样会触发mouseout事件。3、Process.Start()方法详...

winform学习1-----理解小概念-20160506

panel属性,dock:获取或设置控件停靠到父容器的哪一个边缘.none,right,left,fill(完全填充),topC#默认窗体大小设置:maximumsize窗体最大值minimumsize窗体最小值causesvalidation是否验证ToolTip:信息提示框C#里partial关键字的作用:1.什么...

C#并行编程--命令式数据并行(Parallel.Invoke)---与匿名函数一起理解(转载整理)

    VisualC#2010和.NETFramework4.0提供了很多令人激动的新特性,这些特性是为应对多核处理器和多处理器的复杂性设计的。然而,因为他们包括了完整的新的特性,开发人员和架构师必须学习一种新的编程模型。      &n...

理解with(nolock)(转载)

本文导读:要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑。其实除了index的建立之外,当我们在下SQLCommand时,在语法中加一段WITH(NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能。不过有一点千万要注意的就是,WITH(NOLOCK)的SQLSE...
代码星球 ·2021-01-12
首页上一页...5556575859...下一页尾页