摘要:在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以及面临的新问题,从而说明MySQL为什么选择B+树作为索引结构。 阅读全文
posted @ 2019-09-25 08:33 编程迷思 阅读 (613) 评论 (2) 编辑
摘要:文章发出不到30分钟就被首页下架了,默哀…… 起因 为了督促自己更加积极地写博客,我希望有一个排名系统能让我看到自己的进步。但是博客园对用户的排名体系相对是比较少的,主要是推荐博客排行和积分排行;但它们人数少难度大,短期内难以进入排名。因此我决定自力更生,爬取一份博客园粉丝数排行榜。 重要声明 为避 阅读全文
posted @ 2019-05-20 08:37 编程迷思 阅读 (962) 评论 (7) 编辑
摘要:乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。 阅读全文
posted @ 2019-04-29 08:30 编程迷思 阅读 (4153) 评论 (8) 编辑
摘要:事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 MySQL博大精深,文章疏漏之处在所难免,欢迎批评指正。 一、基础概念 事务(Transaction)是访问和更新数据库的 阅读全文
posted @ 2019-01-29 08:26 编程迷思 阅读 (5494) 评论 (43) 编辑
摘要:Redis集群实现了较为完善的高可用方案。本文将详细介绍集群,主要内容包括:集群的作用;集群的搭建以及设计方案;集群的基本原理;客户端访问集群的方法;以及其他实践中需要的集群知识。 阅读全文
posted @ 2018-10-30 08:33 编程迷思 阅读 (7200) 评论 (33) 编辑
摘要:Redis哨兵,它基于主从复制,主要作用是解决主节点故障恢复的自动化问题,进一步提高系统的高可用性。文章内容如下:首先介绍哨兵的作用和架构;然后讲述哨兵系统的部署方法,以及通过客户端访问哨兵系统的方法;然后简要说明哨兵实现的基本原理;最后给出关于哨兵实践的一些建议。 阅读全文
posted @ 2018-09-11 09:02 编程迷思 阅读 (7948) 评论 (19) 编辑
摘要:一、背景 昨天(2018-07-04)微信支付的SDK曝出重大漏洞(XXE漏洞),通过该漏洞,攻击者可以获取服务器中目录结构、文件内容,如代码、各种私钥等。获取这些信息以后,攻击者便可以为所欲为,其中就包括众多媒体所宣传的“0元也能买买买”。 漏洞报告地址;http://seclists.org/f 阅读全文
posted @ 2018-07-05 07:31 编程迷思 阅读 (14191) 评论 (58) 编辑
摘要:本文是深入学习Redis系列的第三篇文章,介绍了Redis主从复制的方方面面。主要内容包括:如何使用主从复制、主从复制的原理(重点是全量复制和部分复制、以及心跳机制)、实际应用中需要注意的问题(如数据不一致问题、复制超时问题、复制缓冲区溢出问题)、主从复制相关的配置(重点是repl-timeout、client-output-buffer-limit slave)…… 阅读全文
posted @ 2018-06-28 09:03 编程迷思 阅读 (17724) 评论 (25) 编辑
摘要:前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案;在介绍RDB和 阅读全文
posted @ 2018-06-06 08:35 编程迷思 阅读 (13700) 评论 (50) 编辑
摘要:前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性。 原创不易,如果觉得文章对你有帮助,欢迎点赞、评论。文章有疏漏之处,欢迎批评指正。 欢迎转载,转载请注明原文链接:http://www.cnblogs.com/kismetv/p/8757 阅读全文
posted @ 2018-04-10 08:26 编程迷思 阅读 (9495) 评论 (26) 编辑
摘要:前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解R 阅读全文
posted @ 2018-03-27 08:53 编程迷思 阅读 (40090) 评论 (77) 编辑
摘要:前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章 详解Tomcat配置文件server.xml 中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象 阅读全文
posted @ 2017-11-09 08:51 编程迷思 阅读 (40785) 评论 (33) 编辑
摘要:前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的。本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法。 文章有疏漏之处,欢迎批评指正。 目录 一、基准测试简介 1、什么是基准测试 2、基准测试的作用 3、基准测试的指标 阅读全文
posted @ 2017-09-30 18:03 编程迷思 阅读 (16374) 评论 (9) 编辑
摘要:前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的配置,可以实现对Tomcat中各个组件的控制。因此,学习serve 阅读全文
posted @ 2017-08-07 09:30 编程迷思 阅读 (94598) 评论 (73) 编辑
摘要:前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。 本文介绍了2种方法在使用和重写时,一些需要注意的问题。 如 阅读全文
posted @ 2017-07-16 22:18 编程迷思 阅读 (2418) 评论 (22) 编辑