• 缓存雪崩、缓存击穿、缓存穿透及其解决方案详细介绍

    缓存雪崩、缓存击穿、缓存穿透及其解决方案详细介绍

    背景 Redis 作为目前使用最广泛的缓存,搭配MySQL的使用场景相信大家都不陌生。因为 Redis 是内存数据库,我们可以将数据库的数据缓存在 Redis 里,相当于数据缓存在内存,内存的读写速度比硬盘快好几个数量级,这样大大提高了系统性...

    gtxyzzgtxyzz 2023.01.26 509浏览 0
  • 深度剖析5种IO模型

    深度剖析5种IO模型

    遇到的问题 为啥子Nginx能同时支撑百万并发和数十万连接? 为啥子Redis单线程的性能比多线程的Memcached还要强? 为啥子Dubbo的的通信效率非常高? 其实上面的场景回归到具体应用上就是一种超强的IO能力,谈到IO我们可以先...

    kingking 2023.01.26 628浏览 0
  • 软件架构设计、软件设计的基本概念和相关知识

    软件架构设计、软件设计的基本概念和相关知识

    软件架构设计、软件设计的基本概念 一、软件架构设计 1、软件架构的定义 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件))、指导构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组...

    kavinkavin 2023.01.26 527浏览 0
  • 使用 Git bisect 命令定位首次引入错误的提交

    使用 Git bisect 命令定位首次引入错误的提交

    bisect 工具 Git 的 bisect 工具通过快速识别坏的提交,节省了时间和精力。 你是不是有过这样的经历:发现代码中有 错误bug,但不知道这个错误是什么时候引入的。这有可能是因为,某个人提交了一份有错误的代码,但没有在他...

    adminadmin 2023.01.26 549浏览 0
  • 互斥锁、自旋锁、读写锁、悲观锁、乐观锁详解

    互斥锁、自旋锁、读写锁、悲观锁、乐观锁详解

    前言 如何用好锁,也是程序员的基本素养之一了。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来,就谈一谈常见的这几种锁: 锁分类 正文 多线程访问共...

    gtxyzzgtxyzz 2023.01.26 563浏览 0