分类: 编程教学

mysql存储引擎如何处理回滚_mysql操作机制说明

mysql存储引擎如何处理回滚_mysql操作机制说明

MySQL 本身不存历史快照,ROLLBACK 能撤销修改,全靠 InnoDB 在事务执行时同步写入的 Undo Log。它不是备份,而是“反向操作指令”: – INSERT 回滚 → 记录主键,回滚时执行 DELETE – UPDATE 回滚 → 保存旧值,回滚时用旧值覆盖当前行 – DELETE 回滚 → 记录整行内容,回滚时重新 INSERT

Golang Web开发中如何实现缓存_Golang Web缓存设计思路

Golang Web开发中如何实现缓存_Golang Web缓存设计思路

多数人一想到缓存就直接往 http.Handler 里塞,比如用 httpcache 或自定义中间件拦截 GET 请求。但这容易出问题:缓存策略和业务语义脱节。比如用户 A 和用户 B 请求同一路径 /api/user/profile,但返回内容不同——HTTP 层无法区分身份上下文,缓存可能错乱。

mysql并发访问如何避免脏读_mysql隔离级别讲解

mysql并发访问如何避免脏读_mysql隔离级别讲解

脏读只会在 READ UNCOMMITTED 隔离级别下发生。其他三个级别(READ COMMITTED、REPEATABLE READ、SERIALIZABLE)都通过不同机制阻止了脏读——不是靠“锁住所有东西”,而是靠 MVCC(多版本并发控制)或行锁/间隙锁的组合。

Python 延迟执行与立即执行的设计选择

Python 延迟执行与立即执行的设计选择

调用时加不加 (),直接决定是“拿函数本身”还是“立刻执行并取返回值”。这是最常踩的坑——尤其在传参给 threading.Timer、schedule.every().do() 或回调注册场景里。

CSS颜色属性全解析_整理100个关于颜色的属性与值

CSS颜色属性全解析_整理100个关于颜色的属性与值

CSS 里根本不存在「100个颜色属性」——这是对 CSS 颜色体系的严重误解。真正可用的颜色相关属性只有 color、background-color、border-color、outline-color、fill、stroke 等寥寥几个,其余全是「值」,不是「属性」。

基于Redis的分布式锁在微服务中的应用_解决资源竞争问题

基于Redis的分布式锁在微服务中的应用_解决资源竞争问题

因为这只能保证「加锁」原子性,但无法保证「解锁」安全——业务出错、超时、节点宕机时,可能删掉别人持有的锁。
真实场景里,锁的持有者必须严格校验:只有自己设的值,才能自己删。
常见错误是写个 DEL key 就完事,结果 A 拿着锁超时了,B 重新加锁,A 回来一删,把 B 的锁干掉了。

mysql如何在高并发下优化查询_mysql性能调优方法

mysql如何在高并发下优化查询_mysql性能调优方法

加了索引却没提速,常见原因是查询条件没走索引。比如对 user_name 建了索引,但写成 WHERE LOWER(user_name) = ‘alice’,MySQL 无法使用索引做前缀匹配;又或者用了 LIKE ‘%abc’ 这种左模糊,索引失效。