摘要: 一、缓存穿透 1、含义 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。 2、解决方案 1)缓存空对象 就是当数据库中查不到数据的时候,我缓存一个空对象,然后给这个空对象的缓存设置一个过期时间,这样下次再查询该数据的时候,就可以直接从缓存中 阅读全文
posted @ 2023-04-12 20:45 shog808 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 一、消息积压的原因 1、producer生产消息突然增多 比如大促期间,抢购,秒杀业务。 2、consumer消费性能突然下降 比如消费失败时重试,程序死锁,io阻塞。 3、消费系统本身出现瓶颈 这种情况很少,对于绝大多数使用消息队列的业务来说,消息队列本身的处理能力要远大于业务系统的处理能力。主流 阅读全文
posted @ 2023-04-08 14:43 shog808 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 一、缓存耗尽的原因 1、每台机器的内存是一定的 2、key未设置过期时间 key不设置过期时间则在内存中一直存在,直到我们明确删除它。 3、过度或不合理的持久化 无论RDB快照或者AOF日志,都会在内存和磁盘中反复操作,需要一定的内存空间。 4、不及时清理过期缓存 有时过期缓存依旧存在,主要和缓存清 阅读全文
posted @ 2023-04-01 11:52 shog808 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 前 言 今天的中国互联网,正加速从消费互联网向产业互联网转型,数字化变革逐渐渗透到每一个具体产业,弹性算力已变成各行各业的水电煤,从底层驱动产业变革。以区块链、IoT、人工智能、大数据等先进技术为代表,新的云原生基础设施已经就绪并将继续演进,同时也会伴随着与之配套的技术和管理范式的演进。DevOps 阅读全文
posted @ 2023-04-01 08:46 shog808 阅读(37) 评论(0) 推荐(0) 编辑
摘要: mysql 性能优化的关注点 其实,mysql 性能优化不是简单的知道和使用 explain和show profile就天下无敌了,这两个只是重要的方面,何况作为资深的CRUD工程师还未必经常使用,任何的知识都是了解->熟悉->精通,当真正的了解原理或者系统的掌握才是真正的悟道。接下来开始进入正题, 阅读全文
posted @ 2023-02-09 17:35 shog808 阅读(23) 评论(0) 推荐(0) 编辑
摘要: springboot的功能主要包括: 1、起步依赖 2、自动配置 3、命令行界面 4、Actuator 5、spring initialize 一、启动引导Spring @SpringBootApplication开启了Spring的组件扫描和Spring Boot的自动配置功能。实际上,@Spri 阅读全文
posted @ 2023-02-03 10:45 shog808 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Transactional的失效场景 阅读全文
posted @ 2023-02-01 17:04 shog808 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 设计模式分二十三种,三大类,分别是: 对象创建型 抽象工厂、生成器、工厂方法、原型、单例 结构型 适配器、桥接、组合、装饰器、外观、享元、代理 行为型 责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者 阅读全文
posted @ 2023-01-16 23:15 shog808 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 一、总览 Redis是键值型数据库,键是String,值可以是多种数据类型,具体包括:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合) 键值采用哈希算法,称为全局哈希表。 而每种数据类型对应着都有底层实现的数据结构,具体如图: 二、数据结 阅读全文
posted @ 2023-01-15 21:30 shog808 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 一、基本的分析命令 1、explain+SQL语句:查看执行计划 2、show create table table1:查看table1的创建SQL 3、show indexes from table1:查看table1所有的索引 4、show table status like 'table1' 阅读全文
posted @ 2023-01-14 13:14 shog808 阅读(11) 评论(0) 推荐(0) 编辑