Archive

作者: karp

Git Reset 三种模式

在使用 Git 进行版本控制时,我们经常需要撤销一些提交,回到之前的状态。Git 提供了 reset 命令来实现这个功能。本文将介绍 Git reset 命令的三种模式:--soft、--mixed 和 --hard,并解释它们之间的...
阅读全文

MySql 不存在则插入,存在则更新或忽略

在进行数据插入操作时,我们经常遇到的需求是:如果数据不存在,则插入新数据;如果数据已存在,则更新已有数据或忽略该操作。这种情况在数据库领域非常常见。本文将介绍如何在 MySql 数据库中实现该功能。 正文 1. 不存在则插入,存在则更...
阅读全文

MySQL之Gap-Locks与Next-key-Locks

介绍 Next-Key Locks 是 MySQL 的 InnoDB 存储引擎的一种锁实现。 MVCC 不能解决幻影读问题,Next-Key Locks 就是为了解决这个问题而存在的。在可重复读(REPEATABLE READ)隔离级...
阅读全文

Redis 执行 Lua,能保证原子性吗?

Redis 和 Lua,两个看似风流马不相及的技术框架,为什么能产生“爱”的火花,成为工作中的黄金搭档?面试中更是高频出现:Redis 执行 Lua,到底能不能保证原子性? 一、原子性 在回答问题之前,需要对“原子性”这个概念有一个清...
阅读全文