![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
垃圾继承拖拉机
押井守的巴吉度犬被我偷走辣
展开
-
redis设计与实现 第十五章
删除也一样,此处不再给出。旧版的复制P199-P201细说同步和命令传播操作。同步:命令传播:旧版复制缺陷P202例子:新版复制功能的实现P205-P209细说部分重同步的实现。具体内容略。P209-P211细说psync的实现。P211-P216细说复制(slaveof方法)的实现。心跳检测...原创 2021-01-27 14:23:22 · 200 阅读 · 0 评论 -
Redis设计与实现 第十一章
P139-P142说到这三个步骤。AOF文件的载入与还原注:aof持久化的开启,可以通过修改redis.conf文件完成。将no改为yes即可。always: 每次操作都会立即写入aof文件中everysec: 每秒持久化一次(默认配置)no:不主动进行同步操作,默认30s一次# If you have latency problems turn this to "yes". Otherwise leave it as# "no"...原创 2021-01-27 14:21:02 · 135 阅读 · 0 评论 -
Redis设计与实现 第十章
RDB持久化RDB文件的创建与载入补充:自动间隔性保存注:该配置在redis.conf 文件上配置。(如果是Windows上则是redis.windows.conf文件)P123-P125谈到保存的具体实现,略P125-P133细说RDB文件结构P133-P136细说实际RDB文件...原创 2021-01-27 14:18:52 · 82 阅读 · 0 评论 -
Redis设计与实现 第九章
Redis数据库切换数据库P93-P98介绍redis的键空间,包括更新键,删除键,添加键和就键取值等操作。注:unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。定时删除惰性删除定期删除P109-P111会讲到删除策略的具体实现,此处略。RDB对过期键的...原创 2021-01-27 14:15:23 · 92 阅读 · 0 评论 -
innodb存储引擎第六章(锁)
Lock和latchLatch是轻量级的锁,latch可以分为互斥锁和读写锁。无死锁检测机制。意向锁等待表锁操作的完成,意思是需要等待表一上的s表锁释放后,再对表一加上IX锁。上面说到,等待表锁操作的完成,意思是需要等待表一上的s表锁释放后,再对表一加上IX锁。通过表中数据可知,S与IX不兼容。具体可看P255-P258页。一次性非锁定读具体例子可参考P260页。...原创 2021-01-13 17:06:09 · 124 阅读 · 0 评论 -
innodb存储引擎第五章(part two 多种索引 )
什么时候需要添加索引?Show index:OrderDetails是一个table。Cardinality如何统计?联合索引注:这里的SQL语句,优化器使用了联合索引,联系最左匹配原则去思考, (userid,buy_date)复合索引,创建复合索引的规则是首先会对复合索引的最左边的,也就是第一个userid字段的数据进行排序,在第一个字段的排序基础上,然后再对后面第二个的buy_date字段进行排序。所...原创 2021-01-13 16:59:22 · 103 阅读 · 0 评论 -
innodb存储引擎第三章读书笔记
参数文件日志文件错误日志慢查询日志查询日志二进制日志PID文件innodb存储引擎文件...原创 2020-12-03 16:23:55 · 100 阅读 · 0 评论 -
innodb存储引擎第五章(part one :聚集索引与非聚集索引)
开始介绍了二分查找,二叉查找树和二叉平衡树,Sedgewick的算法第四版中介绍过了,故就此略过。接下来我总结一下数据结构中的树:二叉排序树:略。AVL树:在二叉排序树的基础上加上平衡条件(即每个节点左右子树高度差≤1)2-3树:最简单的B树,有二节点和三节点(该节点有三个子节点,且该节点上有两个关键字)。平衡树:每个节点左右子树高度差≤1。完全二叉树:二叉树的基础上,每个节点所在的层,其右边节点不为空或全为空,其左边节点不为空。B树:每个节点的子节...原创 2020-12-03 16:12:54 · 122 阅读 · 0 评论 -
数据库(基础概念part three)
关系和关系模式关系是两个域的笛卡尔积的子集(或者元组的集合,我的 数据库(基础概念part two)解释过关系是什么),而关系模式是什么?百度百科有这样一句话:关系的描述称为关系模式(Relation Schema),关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。表示方式关系模式可以表示为R(U,F),这里的U是属性集,F是函数依赖。属性集是什么?一个关系里面,每一列称之为属性.原创 2020-12-02 17:00:12 · 408 阅读 · 0 评论 -
MySQL——MVVC
简介 MVCC(Multi-Version Concurrency Control)是一种基于多版本的并发控制协议。只有在InnoDB引擎下存在,myisam并不支持MVVC。 在InnoDB中,给每行增加两个隐藏字段来实现MVCC,两个列分别记录创建版本号和删除版本号,每开启一个新事务,事务的版本号就会递增。 当我们每开启一个事务,都会获得一个事务ID,事务ID是自增长的,可通过事务ID的大小判断事务的时间顺序。MVVC增删改查默认的隔离级别...原创 2020-09-17 18:15:06 · 338 阅读 · 0 评论 -
MySQL和Spring中的事务
事务事务指的是一个逻辑单元对数据库所做操作的一个过程。MYSQL数据库中的事务是基于innodb存储引擎的,因为myisam存储引擎不支持事务。事务(或者说该逻辑单元)的特性:ACID 1. A,也就是原子性(Atomicity)。原子的概念就是不可分割,你可以把它理解为组成物质的基本单 位,也是我们进行数据处理操作的基本单位。 2. C,就是一致性(Consistency)。一致性指的就是数据库在进行事务操作后,会由原来的一致状态,变成另一种一致的状态。也就是说当事务提交后,或者.原创 2020-09-15 19:17:47 · 391 阅读 · 0 评论 -
MySQL——锁
从数据库管理的角度对锁进行划分共享锁:共享锁也叫读锁或 S 锁,共享锁锁定的资源可以被其他用户读取,但不能修改。例子:给 product在表上加共享锁,可以使用下面这行命令:LOCK TABLE product READ;注:共享锁默认情况下是当数据读取完毕后就会是释放排他锁会保留到事务结束为止排它锁:排它锁也叫独占锁、写锁或 X 锁。排它锁锁定的数据只允许进行锁定操作的事务使用,其他事 务无法对已锁定的数据进行查询或修改。例子:给 product在表上加排它锁,可以使..原创 2020-09-15 19:14:42 · 91 阅读 · 0 评论 -
MySQL中的单列索引和组合索引
前言从数据库角度看索引:有B+树索引和hash索引。从物理角度看索引:有聚集索引和非聚集索引。而从逻辑角度看索引:有单列索引和组合索引。关于单列索引和组合索引单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引:即一个索包含多个列。注:1.在mysql中执行查询时,只能使用一个索引,如果我们在lname,fname,age上分别建单列索引,执行查询时,只能使用一个索引,mysql会选择一个最严格(获得结果集记录数最少)的索引。..原创 2020-08-17 20:22:13 · 821 阅读 · 0 评论 -
MySQL优化(索引优化)
索引优化1.建立聚集索引实例:现在我们想查出满足以下条件的用户id:mysql>SELECT `uid` FROM people WHERE lname`=’Liu’ AND `fname`=’Zhiqun’ AND `age`=26因为我们不想扫描整表,故考虑用索引。单列索引:ALTER TABLE people ADD PRIMARY KEY (‘lname’);将lname列建索引,这样就把范围限制在lname=’Liu’的结果集1上,之后扫描结果集1,产生满足fna...原创 2020-08-17 19:59:35 · 201 阅读 · 0 评论 -
Redis数据结构与对象(整数集合与压缩列表)
压缩列表摘录自: redis设计与实现(第二版)原创 2020-08-17 17:25:37 · 75 阅读 · 0 评论 -
Redis数据结构与对象(跳跃表)
注:ZRANGE key start stop [WITHSCORES] 由索引返回一个成员范围的有序集合(从低到高)skiplist与平衡树、哈希表的比较(1) skiplist 和各种树(如AVL树、红黑树等)的元素是有序排列的,而哈希表不是有序的。因此,在哈希表上只能做单个key的查找,不适宜做范围查找。注:范围查找,指的是查找那些大小在指定的两个值之间的所有节点。...原创 2020-08-17 17:20:26 · 86 阅读 · 0 评论 -
Redis数据结构与对象(字典)
摘录自: redis设计与实现(第二版)原创 2020-08-17 17:17:34 · 86 阅读 · 0 评论 -
Redis数据结构与对象(简单动态字符串)
简单动态字符串(SDS)SDS与C字符串的区别1.2.3.4.5.总结:摘录自:redis设计与实现(第二版)原创 2020-08-17 17:15:11 · 66 阅读 · 0 评论 -
Redis简介及常用操作
简介Redis是开源的,基于C语言所写的,基于内存,可持久化的key-value数据库。Redis目前有5种数据类型,分别是:String(字符串)List(列表)Hash(字典)Set(集合)Sorted Set(有序集合)与Memcached的对比Redis是单线程的,秘钥长度为2GB,支持主从复制。Memcached是较早出现的NoSql数据库,支持简单的key-value模式,而Redis几乎覆盖了Memcached的绝大部分功能,除了支持简单的key-.原创 2020-08-17 17:06:54 · 99 阅读 · 0 评论 -
MySQL存储引擎
DBMS使用数据引擎进行select、update和delete等操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,mysql 5之后,支持的存储引擎有十几个,但是常用的有两种,MyISAM和InnoDB。 功能 MyISAM InnoDB 存储限制 256TB 64TB 事务安全 否 是 ..原创 2020-08-06 18:27:12 · 149 阅读 · 0 评论 -
MySQL innodb存储引擎中的聚集索引和非聚集索引(摘录自大量博客)
用一个简单的示意图来大概说明一下在数据库中的样子: 地址 id username score 0x01 1 小明 90 0x02 2 小红 80 0x03 3 小华 92原创 2020-08-03 20:03:30 · 579 阅读 · 0 评论 -
MySQL中的B树与B+树
前言:B树和B+树的概念在算法第四版和大话数据结构中我没有见过,但是在国内计算机系的数据结构这门课里,所用的教材大部分都提到了B树和B+树,在学到mysql的相关知识时,我才第一次深入了解这两种树形结构。B树和B+树的特点B-树有如下特点:所有键值分布在整颗树中(索引值和具体data都在每个节点里); 任何一个关键字出现且只出现在一个结点中; 搜索有可能在非叶子结点结束(最好情况O(1)就能找到数据); 在关键字全集内做一次查找,性能逼近二分查找;B+树的特点:...原创 2020-08-03 19:52:42 · 462 阅读 · 0 评论 -
数据库(基础概念part two)
域:相同数据类型的值得集合笛卡尔积:共十八个组合,每个组合表示一个元组。上述笛卡尔积的一个子集为关系。每一列称之为属性。码:1.候选码:一个关系中唯一标识元组的属性。2.主码:一个关系中多个候选码中选一个作为主码。候选码中的属性为主属性,不是候选码中的属性为非主属性。3.外码:关系代数1.并运算2.差运算3.交运算4.广义笛卡儿积运算5.选择运算6.投影运算7.连接运算:关系R和关系S做笛卡尔积运算,再根据...原创 2020-07-29 21:46:19 · 169 阅读 · 0 评论 -
数据库(基础概念part one)
数据库定义数据库是一个数据集合,而该数据集合是有结构,相关联和合理存放的。数据库相关概念数据管理的发展人工管理:不共享,不独立,无结构,数据不保存。文件系统:共享性差,独立性差,记录内有结构,整体无结构。数据库系统:共享性高,高度的物理独立性和逻辑独立性,由DBMS管理,整体结构化(整体结构化为数据库系统与文件系统的根本区别)。数据模型数据模型的分类:概念数据结构,逻辑数据结构,物理数据结构。一个数据库的数据模型包括:数据结构,数据操作,数据完整性约...原创 2020-07-29 21:42:25 · 167 阅读 · 0 评论