君子生非异也

导航

 

2021年5月19日

摘要: 问题:线程A在修改mysql的时候,线程B先读取了数据,接着线程A执行完毕,此时redis中没有数据了,接着线程B处理业务然后设置redis缓存,此时redis中的数据还是线程A修改前的数据。 阅读全文
posted @ 2021-05-19 17:44 徐知语的笔记 阅读(500) 评论(0) 推荐(0) 编辑
 
摘要: 这个数值依据: 这个数值与MySQL 的配置以及机器的硬件有关。因为,MySQL 为了提高性能,会将表的索引装载到内存中。InnoDB buffer size 足够的情况下,其能完成全加载进内存,查询不会有问题。但是,当单表数据库到达某个量级的上限时,导致内存无法存储其索引,使得之后的 SQL 查询会产生磁盘 IO,从而导致性能下降。当然,这个还有具体的表结构的设计有关,最终导致的问题都是内存限制。这里,增加硬件配置,可能会带来立竿见影的性能提升哈。 阅读全文
posted @ 2021-05-19 14:20 徐知语的笔记 阅读(260) 评论(0) 推荐(0) 编辑
 
摘要: 事务在主库写完binlog后需要从库返回一个已接受,才放回给客户端;5.5集成到mysql,以插件的形式存在,需要单独安装确保事务提交后binlog至少传输到一个从库。 阅读全文
posted @ 2021-05-19 11:39 徐知语的笔记 阅读(255) 评论(0) 推荐(0) 编辑
 
摘要: 将这个参数设为0或大于1以上的数值会提高数据库的性能,但同时会伴随数据丢失的风险。二进制日志文件涉及到数据的恢复,以及想在主从之间获得最大的一致性,那么应该将该参数设置为1,但同时也会造成一定的性能损耗。 阅读全文
posted @ 2021-05-19 09:37 徐知语的笔记 阅读(328) 评论(0) 推荐(0) 编辑