跳到主要内容

6 篇博文 含有标签「MySQL」

查看所有标签

MySQL 你不知道的那些事

· 阅读需 1 分钟
ahKevinXy
作者

insert select 操作

快速插入数据库,如何批量插入数据库

基础操作

insert into table1 select * from table2


insert into table2 (id,name,created_at) select id,name,now() from table2

为什么查询使用别名

  • SQL 需要多次查询同一个表 并且需要区分,应该使用方法
  • SQL语句中查询表名特别长或表述的意义不清晰,使用别名提高可读性

如何保证 redis 缓存一致性?

· 阅读需 1 分钟
flankx
作者

方案一

采用延时双删策略

  • 基本思路: 在写库前后都进行删除缓存操作,并且设置合理的超时时间
  • 基本步骤: 先删除缓存–再写数据库—休眠一段时间—再次删除缓存 注:休眠的时间是根据自己的项目的读数据业务逻辑的耗时来确定的。这样做主要是为了保证在写请求之前确保读请求结束,写请求可以删除读请求造成的缓存脏数据。
  • 该方案的弊端: 集合双删策略+缓存超时策略设置,这样最差的结果就是在超时时间内数据存在不一致,又增加了写请求的耗时。

方案二

一步更新缓存(基于订阅Binlog的同步机制)

  • 基本思路: MySQL Binlog增强订阅消费 + 消息队列 + 增量数据更新到Redis