随笔分类 - 数据库
摘要:Zset(有序集合) 序集合 Zset 与 普通集合 Set 类似 , 都是 没有重复元素的集合 ; 有序集合 Zset 中的 元素排序 , 是 根据 评分 进行排序 , 每个成员 都关联了一个 评分 , 在该 有序集合 中 , 根据 评分 由低到高 进行排序 ; Zset 中的元素 是 不可重复的
阅读全文
摘要:Redis 哈希(Hash) hash的格式也是键值对key:map,只不过他的值是map集合。 key:{key:vlaue} 案例 127.0.0.1:6379> HSET myhash field1 lili #set一个具体的key-value (integer) 1 127.0.0.1:6
阅读全文
摘要:Set Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。(无序不重复) 集合对象的编码可以是 intset 或者 hashtable。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 案例 127.0
阅读全文
摘要:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 2^32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 list可以定义一些规则,使它作为栈、队列或双端队列。 案
阅读全文
摘要:Redis 数据类型 string(字符串): 基本的数据存储单元,可以存储字符串、整数或者浮点数。 hash(哈希):一个键值对集合,可以存储多个字段。 list(列表):一个简单的列表,可以存储一系列的字符串元素。 set(集合):一个无序集合,可以存储不重复的字符串元素。 zset(sorte
阅读全文
摘要:Redis是什么 Redis是一个开源,内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 Key-Value格式的缓存和存储服务器; 数据结构服务器,它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型; 所有数据集必须在内存中使用,磁盘是用来持久数据
阅读全文
摘要:一、慢查询 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上的SQL语句。 mysql> s
阅读全文
摘要:导读 有个MySQL服务器的磁盘I/O总有过高报警,怎么回事? 有哪些原因 MySQL服务器最近总是报告磁盘I/O非常高,出现这种问题,一般来说,磁盘I/O很高无非是下面几个原因引起: 磁盘子系统设备性能差,或采用ext2/ext3之类文件系统,或采用cfq之类的io scheduler,所以IOP
阅读全文
摘要:数据库创建完后主从数据库数据保持同步 主数据库 mysql> SHOW MASTER STATUS; + + + + + + | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | + + + + + + |
阅读全文
摘要:一、日志类型 MySQL中的日志主要分为两种类型:Server层的日志和引擎层的日志(引擎层日志本文主要介绍InnoDB引擎日志) Server层日志 Error Log (错误日志):记录MySQL Server运行时出现的错误和警告。 Binary Log (二进制日志):记录了MySQL Se
阅读全文
摘要:一、刷盘机制总览 刷盘过程 mysql刷脏数据在写redo之后,逻辑跟oracle一致。 checkpoint/commit -> 内存中的redo到redolog文件 -> 内存中的脏数据到数据盘。 但是mysql多一个环节,就是把binlog从binlog cache写入到binlog文件中。b
阅读全文
摘要:Innodb存储引擎的架构 内存结构 Bufer Pool 缓冲池是主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),然后再以一定频率刷新到磁盘,从而减少磁盘IO,加快处理速度。 缓冲池以Page页为单位,底
阅读全文
摘要:一、GTID Mysql5.6引入GTID(Global Transaction IDs),多线程复制。 由服务器的UUID和事务ID号组成唯一标识某一个主机的某个事务的ID号; 每一个事务首部都有GTID,因此GTID使得追踪和比较事务变得简单,能够快速恢复数据库。 GTID有事务的编号,主从可以
阅读全文
摘要:一、备份工具 1. mysqldump mysql服务自带的备份工具;mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合; InnoDB:热备;启动大事务。 MyISAM:温备; 备份单个数据库hellodb至指定文件
阅读全文
摘要:一、概念 1. 关系型数据库 数据库(DB) 即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据 数据库管理系统(DBMS) 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 关系型数据库管理
阅读全文
摘要:前言 本文通过实验实现Mysql的事务的创建、回滚。 通过实验验证事务不同的隔离级别的区别。 Mysql事务 事务(Transaction)是一组SQL组成的执行单元(Unit),是数据库并发控制和恢复回滚的基本单位。一个事务中可能包含多个SQL,要么都失败,要么都成功。 把需要保证原子性、隔离性、
阅读全文
摘要:前言: Mysql中查询语句是日常使用最频繁和复杂的语句,Mysql查询有单表查询和多表连接查询,以下通过案例来熟悉Mysql的查询语句。 一、单表查询 现有hellodb数据库和students等表 mysql> SHOW DATABASES; + + | Database | + + | inf
阅读全文
摘要:前言 本文通过简单的示例去了解Mysql的DDL、DML、DCL的语句用法。 一、DDL语句 DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。 获取
阅读全文