
数据库
Hzy_han
bug不会凭空产生,也不会凭空消失,只是从一个地方转移到了另一个地方。
展开
-
使用canal实现数据实时同步
canal在实现缓存和数据库数据一致性的时候,我们会用到延时双删等同步策略,但是在删除缓存失败时,会再次出现缓存和数据库不一致的问题。为了应对删除缓存失败的情况,可以通过回溯数据库日志文件,提供一个保障的重试机制即可。流程如下图所示:(1)更新数据库数据(2)数据库会将操作信息写入binlog日志当中(3)订阅程序提取出所需要的数据以及key(4)另起一段非业务代码,获得该信息(5)尝试删除缓存操作,发现删除失败(6)将这些信息发送至消息队列(7)重新从消息队列中获得该数据,重试操作。原创 2020-08-05 22:11:56 · 6533 阅读 · 0 评论 -
关于分库分表最全的一篇文章
这里介绍设计分库分表框架时应该考虑的设计要点,并给出相应的解决方案。一、整体的切分方式简单来说,数据的切分就是通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)中,以达到分散单台设备负载的效果,即分库分表。 数据的切分根据其切分规则的类型,可以分为如下两种切分模式。 垂直(纵向)切分:把单一的表拆分成多个表,并分散到不同的数据库(主...转载 2020-02-29 13:48:20 · 271 阅读 · 0 评论 -
Mysql语句优化的一些总结
Mysql语句优化1、比如 select id from t where num is null 这样的 sql 也是可以的。但是最好不要给数据库留 NULL,尽可能的使用 NOT NULL 填充数据库。不要以为 NULL 不需要空间,比如:char(100) 型,在字段建立时,空间就固定了,不管是否插入值(NULL 也包含在内),都是占用 100 个字符的空间的,如果是 varchar 这样的...原创 2020-02-26 21:18:53 · 314 阅读 · 1 评论 -
数据库优化的八种方法
https://www.cnblogs.com/liliuguang/p/11015964.html转载 2020-02-09 12:36:18 · 231 阅读 · 0 评论