摘要:
本文涉及:MySQL性能优化神器Explain的使用 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL 优化器是如何执行SQL 语句的 通过Explain,我们可以分析出以下结果: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 阅读全文
摘要:
本文涉及:高可用数据库设计时数据类型的选择原则 在进行数据库设计时,如果能够选择最恰当的数据类型就可以为后期的数据库调优打好最坚实的基础 例如存储订单状态字段很多时候使用0、1、2表示使用tinyint类型存储就够了,没必要搞个int、long甚至varchar来。 越小的数据类型代表着占用越小的磁 阅读全文
摘要:
本文涉及:MySQL安装后自带的4个数据库:information_schema、 performance_schema、sys、mysql的作用及其中各个表所存储的数据含义 information_schema information_schema是mysql自带的一个信息数据库,其保存着关于my 阅读全文
摘要:
创建数据库 1 create database dbname; 删除数据库 1 drop database dbname; 选择数据库 1 use dbname; 创建表 12345678 CREATE TABLE IF NOT EXISTS `book`( `id` INT UNSIGNED AU 阅读全文
摘要:
本文涉及:如何在k8s下搭建Prometheus+grafana的监控环境 基本概念 Prometheus提供了容器和云原生领域数据搜集、存储、处理、可视化和告警一套完整的解决方案,最初时是由SoundCloud公司开发的。自2012年开源以来社区成员就不断递增。如今的Prometheus已经发展到 阅读全文
摘要:
JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 浅谈Java类 阅读全文
摘要:
本文涉及:Java中的new命令之后发生的事 java虚拟机在遇到一条 new 指令时,首先会检查是否能在常量池中定位到这个类的符号引用,并且是否已被加载过、解析和初始化过。如果没有,那必须先执行类加载过程 类加载的相关知识可参考:JVM的类加载机制 在类加载检查通过后,接下来虚拟机将为新生对象分配 阅读全文
摘要:
缓存淘汰 为什么需要缓存淘汰?你需要缓存30G的数据,但是Redis本身只能使用10G的内存,那你就得做个取舍了,毕竟鱼与熊掌不可兼得。为了利益最大化肯定要保留最重要的10个G。 Redis本身提供了6中缓存淘汰策略,以下属性表示允许使用的最大内存 1 server.maxmemory 当使用的内存 阅读全文
摘要:
本文涉及:普通哈希算法存在的问题,分布式系统的哈希一致性算法,哈希一致性算法中的数据倾斜问题 我们知道,在分布式系统中当数据量无法使用单机进行存储时,最简单粗暴的方法就是水平扩展:加机器,搞集群。 然而所有的集群模式都会面临一个数据存放的问题:即一个集群有多台机器,我们怎么知道这次的数据应该放在哪个 阅读全文
摘要:
Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim 阅读全文