文章分类 -  Mysql/Redis/mongodb

存储相关的内容
摘要:一.概述 如果你想你的数据,仅仅存在于服务器运行的时候,你就不需要使用持久化。redis.conf文件有关于ROB和AOF的配置。 1.持久性选项: ROB,以指定的时间段执行时间点你数据库的快照。 AOF,记录被服务器接收的每个写操作,在服务器启动的时候再执行一次,重建原始数据集。 2. 阅读全文
posted @ 2019-02-26 23:52 san3er 阅读(94) 评论(0) 推荐(0)
摘要:一.概述 二.计时器 三.缓存 1.缓存使用 缓存的使用逻辑:当缓存中有数据,则取用数据。当缓存中没有数据,则取数据库中数据,并且将数据存到缓存中。 这个逻辑带来一些问题,问题列表如下: (1).缓存穿透. 当请求一个不存在的key,便直接请求到了数据库。当流量大的时候,可能DB就已经崩掉了。这便是 阅读全文
posted @ 2019-02-23 20:06 san3er 阅读(47) 评论(0) 推荐(0)
摘要:一.概述 二.列表 1.高版本MySQL数据结构导入到低版本MySQL的时候,报错了。 多点MySQL注意下不同的版本的问题。 阅读全文
posted @ 2019-02-17 23:13 san3er 阅读(109) 评论(0) 推荐(0)
摘要:一.可能遇到的坑 1.master-slave之间的版本不一样吗,binlog_checksum变量带来问题。 阅读全文
posted @ 2019-02-16 18:02 san3er 阅读(83) 评论(0) 推荐(0)
摘要:一.概述 1.tcp端口需要两个,1一个server-client,一个是server-server. 2.Redis Cluster之间的通信协议是二进制协议。 3.Redis Cluster之间的数据共享? Redis Cluster不使用一致性Hash,而是使用Hash slot。Redis 阅读全文
posted @ 2019-01-28 13:13 san3er 阅读(80) 评论(0) 推荐(0)
摘要:一.概述 1.分区方法: (1).执行分区:最简单的方法是范围分区,它需要一张表,匹配范围与redis实例。 (2).Hash分区:获取一个一个key_name,传递给hash_function,运算出一个值,对值求余,余数映射redis服务实例。 2.分区的不同实现 (1).客户端分区 (2).代 阅读全文
posted @ 2019-01-28 02:03 san3er 阅读(109) 评论(0) 推荐(0)
摘要:一.概述 阅读全文
posted @ 2019-01-26 22:18 san3er 阅读(149) 评论(0) 推荐(0)
摘要:一.全文索引设计. 1.反向索引 2.全文索引表 当创建一个Inoodb全文索引,一系列索引表将被创建。反向索引被分到6张辅助索引表。 SELECT table_id, name, space from INFORMATION_SCHEMA.INNODB_SYS_TABLES; //从系统表中检索. 阅读全文
posted @ 2019-01-23 00:06 san3er 阅读(120) 评论(0) 推荐(0)
摘要:一.案例设计 1.不同数据类型的存取性能差距. 2.两个join的查询数值分析,之后再加上group_by/order_by/where来设计优化方案. 阅读全文
posted @ 2019-01-13 17:32 san3er 阅读(82) 评论(0) 推荐(0)
摘要:一.概述 二.优化级别 1.数据库级别优化 2.软件级别优化 3.平衡可移植性和性能 三.SQL语句优化 阅读全文
posted @ 2019-01-12 03:02 san3er 阅读(109) 评论(0) 推荐(0)
摘要:一.概述 二.操作 1.mysql-binlog恢复数据表结构. 查看binlog是否开启, show variables like 'log_%'; 查看binlog已存储版本, show master logs; 恢复MySQL数据, /usr/local/mysql/bin/mysqlbinl 阅读全文
posted @ 2019-01-09 18:24 san3er 阅读(296) 评论(0) 推荐(0)
摘要:一.概述 阅读全文
posted @ 2018-12-24 16:35 san3er 阅读(73) 评论(0) 推荐(0)
摘要:一.概述 二.使用复制来备份 三.处理复制slave意外暂停 四.使用不同的存储引擎的主从 五.复制来实现横向拓展 六. 阅读全文
posted @ 2018-12-24 16:34 san3er 阅读(77) 评论(0) 推荐(0)
摘要:一.概述 复制是建立在主机服务器上,主机服务器在二进制日志中记录数据库的各种更改。二进制日志作为一个可写服务,可以记录数据库从启动开始所做的数据结构或内容的修改。 通常,select语句不被记录,因为它不修改数据结构或内容。每一个Slave连接Master,请求二进制日志的拷贝版。换句话说,Slav 阅读全文
posted @ 2018-12-23 19:36 san3er 阅读(83) 评论(0) 推荐(0)
摘要:一.概述 复制默认是异步的,因此Slave不需要与Master建议持久连接。 MySQL服务器之间的复制是建立在二进制日志机制上。MySQL实例操作作为Master,写、读、更新为二进制日志的事件。二进制日志中的信息,以不同的数据库更改记录对应的数据格式来存储。Slave设置成读取Master上的二 阅读全文
posted @ 2018-12-19 23:38 san3er 阅读(204) 评论(0) 推荐(0)
摘要:一.概述 二.分类 1.InnoDB,。 2.MyIASM,。 阅读全文
posted @ 2018-12-19 02:25 san3er 阅读(55) 评论(0) 推荐(0)
摘要:一.概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。 锁冲突: 二.分类 1.数据范围分类 表级锁: 行级锁: 页面锁: 2.操作分类 共享锁(s):共享锁允许事务读取一行的数据。 互斥锁(x):互斥锁允许事务拥有更新一行或删一行的锁。 特定行上有了共享锁,就不行佳互斥锁了。 ps:SQL 阅读全文
posted @ 2018-12-17 23:05 san3er 阅读(80) 评论(0) 推荐(0)
摘要:一.概述 索引的使用,在编程设计语言中,也有数组的索引。其实原理一样,在数组中是key => value,而在数据库查找中,如果有索引则先去取索引,没有则直接值查找(想象常规的查找算法)。所以需要为索引设计一个数据结构,比如B-tree和hash。 二.磁盘I/O与预读. 考虑到磁盘I/O非常高昂的 阅读全文
posted @ 2018-12-16 16:48 san3er 阅读(81) 评论(0) 推荐(0)
摘要:一.概述 MySQL一直是单进程,多线程的工作方式。 阅读全文
posted @ 2018-12-16 13:47 san3er 阅读(55) 评论(0) 推荐(0)
摘要:一.概述 1.事务是一组sql操作. 2.事务并非直接对数据库产生影响,需要事务提交. 3.事务的语法:begin;/commit; 4.每一个sql操作,默认是一个提交的事务。 二.ACID事务机制. 事务要满足的条件: 1.Atomicity原子性:原子性是指事务是不可再分割的操作单位,操作要么 阅读全文
posted @ 2018-12-12 22:49 san3er 阅读(80) 评论(0) 推荐(0)