随笔分类 - 数据库
摘要:1、CAS原理 Compare And Swap,通常涉及三个参数,内存值,旧值(期望操作前的值),新值。 1)比较旧值和内存值; 2)相等则将内存值更新为新值;不等则不更新,因为说明当前CAS操作前,内存值已经被其他操作改过了。 int compare_and_swap (int* reg, in
阅读全文
摘要:redis是一个存储键值对的内存数据库,并且持久化到磁盘。 1、简单动态字符串(Simple Dynamic String,简称SDS) 1)利用len记录字符串长度,使得strlen时间复杂度从O(N)变为O(1)。 // sds.h struct __attribute__ ((__packed
阅读全文
摘要:1、Read uncommitted 1)事务A读到事务B未提交的数据。未提交的数据可能之后又被改了再提交,导致脏读。 2、Read committed 1)解决脏读问题。 2)导致不可重复读。 3、Repeatable read 4、Serializable
阅读全文
摘要:sqlite是一种用C编写的、轻量级的、遵循ACID(atomicity、consistency、isolation、durability)的关系型数据库。 1、不支持外键,支持事务。 2、没有独立进程。 sqlite有4种锁 1、SHARED,共享锁 2、RESERVED,保留锁 3、PENDIN
阅读全文