3A网络 3A网络
2年前
缓存三大问题及解决方案
1.缓存来由随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。2.缓存问题虽然使用缓存给系统带来了一定的质的提升,但同时也带来了一些需要注意的问题。2.1缓存穿透缓存穿透是指查询一个一定不存在的数据,因为缓存中也无该数据的信息,则会
东方客主 东方客主
3年前
PHP实现文本快速查找 - 二分查找法
起因先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称、根据网站分类ID获取分类名称、根据关键词ID获取关键词等。虽然以上需求都可以在原始建表时,通过冗余数据来解决。但仍有部分业务存的只是关联表的ID,数据分析时需要频繁的查表。所读的表存在共同的特点数据几乎不会变更数据量适中,从一万
lix_uan lix_uan
2年前
MySQL学习总结
数据库的三大范式第一范式:每个列都不可以再拆分第二范式:在第一范式的基础上,非主键列完全依赖于主键第三范式:在第二范式上,非主键列只依赖主键,不依赖其他非主键事务的并发问题脏读:事务A读取了事务B更新的数据,然后数据B回滚,那么A读到的是脏数据不可重复读:事务A多次读取同一数据,事务B在事务A读取的过程中对数据进行了修改并提交,导致A多次读的数据
Wesley13 Wesley13
3年前
mysql 查询近7天数据,缺失补0
相信很多人的项目都有这种需求,就是查询近7天的记录,但是这7天总有那么几天是没数据的,所以缺失的只能补0 下面的代码不知道能不能看懂,我简单的说一下思路1)先查询红色字体的近7天,再转换成日期2)我的字段使用的是时间戳的方式去保存,只能是先数据库字段先转日期2.1)先查询自己想要的数据,用每天分组,计算好总数后2.2)时间戳字段先转日期
Wesley13 Wesley13
3年前
mysql触发器 当记录的指定字段发生变化时,更新表中的另外一个字段,或者更新另外一张关联表中关联记录的字段
注意:语句中出现的old,new,now(),都为数据库自带的关键字,此处不做解释。两种情况:    第一种:一张表中,更新某条记录的其中的一个字段,触发指定的触发器,记录时间即更新到这条记录中的另一个字段中。    第二种:两张表,当A表更新其中某条记录的某个字段时,触发指定的触发器,更新B表与A表关联的记录的某个字段。对于
Wesley13 Wesley13
3年前
Mysql分库分表方案
Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等
Wesley13 Wesley13
3年前
mysql 事物四大特性和事物的四个隔离
1、事物四大特性(ACID)1.原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。2.一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。3.隔离性
Wesley13 Wesley13
3年前
DDD实战进阶第一波(六):开发一般业务的大健康行业直销系统(实现产品上下文仓储与应用服务层)
前一篇文章我们完成了产品上下文的领域层,我们已经有了关于产品方面的简单领域逻辑,我们接着来实现产品上下文关于仓储持久化与应用层的用例如何来协调领域逻辑与仓储持久化。首先大家需要明确的是,产品上下文的领域逻辑是系统的核心,它不应该依赖仓储,而仓储应该要依赖领域层,这样仓储才可以把领域逻辑执行完后,才可能将领域对象持久化到数据库中,这一点与传统的架构
Wesley13 Wesley13
3年前
mysql连接池不能回避的wait timeout问题(转)
起因我们的项目组一直在使用albianj作为开发框架在开发应用。使用至今倒也是没有出现很大的问题,但最近加过监控的接口基本上都会在使用一段时间后,突然之间执行数据库操作变得很慢。虽然会变慢,但持续的时间比较短,一般1分钟左右,然后会自动恢复正常。但是过了一段时间,这个现象又会出现,周而复始。从监控看,发生的时间点并无规律,有的时候一天发生3次,有的
Wesley13 Wesley13
3年前
MySQL初始化数据的一点分析(r12笔记第72天)
  今天在昨天的基础上又做了一些对比测试,也算是对昨天的一个补充和升华。  而这部分内容其实内容量还不少,所以我准备成了ppt的形式,也在团队内部做了一些交流,感兴趣可以直接点击文末的原文来看。初始化数据的必要性  在开始之前还是简单说说初始化数据的必要性,我们做数据库问题定位,性能分析时,如果表里就几条,几十条数据,做性能比对得到的结