随笔分类 - 数据库
摘要:在学习Java动态代理之前,我想让大家先思考这样几个问题。 JDK动态代理为什么不能对类进行代理? Mybatis Mapper接口为什么不需要实现类? 目录 代理模式 说到Java动态代理,就不得不提代理模式。为什么要使用代理模式呢? 生活中对代理模式的使用无处不在,例如明星经纪人对明星业务的代理
阅读全文
摘要:一. 问题描述 我们在设计表结构的时候,设计规范里面有一条如下规则: 对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。 为什么这么规定,我在网上查了一下,主要基于两个方面 基于存储空间的考虑 基于性能的考虑 网上说Varchar(50)和varchar(500)存储空间上是一样
阅读全文
摘要:1、为什么有消息系统 解耦合 异步处理 例如电商平台,秒杀活动。一般流程会分为:1: 风险控制、2:库存锁定、3:生成订单、4:短信通知、5:更新数据 通过消息系统将秒杀活动业务拆分开,将不急需处理的业务放在后面慢慢处理;流程改为:1:风险控制、2:库存锁定、3:消息系统、4:生成订单、5:短信通知
阅读全文
摘要:近接到业务需求,要对 1张6千万数据量 和 1张2千万数据量的,MySQL大表进行增加字段,增加索引变更,为不锁表影响业务,调研后决定使用 pt-online-schema-change 工具操作,现详细记录如下。 什么是大表 一张MySQL表的数据量如果在千万级或以上,则可以认定为大表。如果在百万
阅读全文
摘要:在实际开发中,线程池用于优化线程的使用,提高系统性能,减少线程创建和销毁的开销,以及提供更高的系统稳定性。下面将详细解析几个常见的线程池使用场景,并结合源码和代码演示进行说明。 场景一:Web 应用的并发请求处理 Web 应用通常需要同时处理多个用户的请求。为了不每个请求都创建一个新线程,可以使用线
阅读全文
摘要:redis有五种对象类型,分别是字符串、列表、哈希、集合、有序集合,redis的键值对是两个对象,键一般是字符串,值就这五种中选了。 字符串 字符串的编码可以了解下SDS,全称Simple Dynamic String 和C语言中的字面量String相比,SDS优势主要以下几点 1. 提供了len属
阅读全文