Redis 数据类型及应用场景

2017-11-29
阅读 4 分钟
35.9k
一、 redis 特点 所有数据存储在内存中,高速读写 提供丰富多样的数据类型:string、 hash、 set、 sorted set、bitmap、hyperloglog 提供了 AOF 和 RDB 两种数据的持久化保存方式,保证了 Redis 重启后数据不丢失 Redis 的所有操作都是原子性的,还支持对几个操作合并后的原子性操作,支持事务  通常我们都把数据存到...

MySQL 常见问题和应用技巧

2017-11-20
阅读 4 分钟
4.3k
--skip-grant-tables 选项意思是启动 MySQL 服务时跳过权限表认证。启动后,连接到 MySQL 的 root 将不需要口令。

MySQL 备份和恢复机制

2017-11-13
阅读 11 分钟
11.6k
确定使用全备份还是增量备份。全备份的优点是备份保持最新备份,恢复的时候可以花费更少的时间;缺点是如果数据量大,将会花费很多的时间,并对系统造成较长时间的压力。增量备份相反,只需要备份每天的增量日志,备份时间少,对负载压力也小;缺点就是恢复的时候需要全备份加上次备份到故障前的所有日志,恢复时间长一些。

MySQL 权限管理

2017-10-30
阅读 9 分钟
7.1k
MySQL 的权限表在数据库启动的时候就载入内存,当用户通过身份认证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了。

MySQL 日志(错误日志、二进制日志、查询日志、慢查询日志)

2017-10-16
阅读 4 分钟
3.8k
MySQL 中有 4 中不同的日志,分别是错误日志、二进制日志(binlog 日志)、查询日志和,慢查询日志,应该充分利用这些日志对数据库进行各种维护和调优。

调整 MySQL 并发相关的参数

2017-10-09
阅读 2 分钟
6.1k
MySQL server 是多线程结构,包括后台线程和客户服务线程。多线程可以有效利用服务器资源,提高数据库的并发性能。在 MySQL 中,控制并发连接和线程的主要参数包括 max_connections、back_log、thread_cache_size 以及 table_open_cache 等。

MySQL 中的常用工具

2017-09-25
阅读 15 分钟
3.3k
这里的 options 表示 mysql 的可用选项,可以一次写一个或者多个,甚至可以不写;database 表示连接的数据库,一次只能写一个或者不写,如果不写,连接成功后需要用 “use database”命令来进入要操作的数据库。

innodb 日志机制及优化

2017-09-23
阅读 3 分钟
5.3k
一、innodb 重做日志 当更新数据时,innodb 内部的操作流程大致是: 将数据读入 innodb buffer pool,并对相关记录加独占锁; 将 undo 信息写入 undo 表空间的回滚段中; 更改缓存页中的数据,并将更新记录写入 redo buffer中; 提交时,根据 innodb_flush_log_at_trx_commit 的设置,用不同的方式将 redo buffer 中的更...

MySQL 内存优化

2017-09-18
阅读 8 分钟
11.1k
排序区,连接区等缓存是分配给每个数据库会话(session)专用的,其默认值的设置要根据最大连接数合理分配,如果设置过大,不但浪费内存资源,而且在并发连接较高时会导致物理内存耗尽。

MySQL 锁机制

2017-09-14
阅读 10 分钟
14k
锁是计算机协调多个进程或线程并发访问某一资源的机制。 一、MySQL 锁概述 MySQL 两种锁特性归纳 : 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率最低,并发度也最高。 MySQL 不同的存储引擎支持不同的锁...

优化 sql 语句的一般步骤

2017-08-31
阅读 11 分钟
6.5k
mysql 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extend-status 命令获取这些消息。 show status 命令中间可以加入选项 session(默认) 或 global:

两种高效的事件处理模式

2017-08-14
阅读 2 分钟
3.4k
服务器程序通常需要处理三类事件:I/O 事件、信号及定时事件。随着网络设计模式的兴起,Reactor 和 Proactor 事件处理模式应运而生。同步 I/O 模型通常用于实现 Reactor 模式,异步 I/O 模型则用于实现 Rroactor 模式。

Linux I/O 模型

2017-08-10
阅读 2 分钟
2.1k
socket 在创建的时候默认是阻塞的,也可以通过命令将其设置为非阻塞的。阻塞和非阻塞的概念能应用于所有文件描述符,而不仅仅是 socket。我们称阻塞的文件描述符为阻塞 I/O,称非阻塞的文件描述符为非阻塞I/O。

文件描述符(File Descriptor)简介

2017-07-03
阅读 2 分钟
35.6k
维基百科:文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。

mysql查询优化小技巧

2017-06-17
阅读 4 分钟
4.7k
1. 开启缓存 {代码...} 注意: 查询缓存存在判断是严格依据select语句本身的:严格保证sql一致。 如果查询时包含动态数据,则不能被缓存。 如果不想使用缓存,可以使用 SQL_NO_CACHE 语法提示。 2. in型子查询 {代码...} 3. from 子查询 内层 from 语句查到的临时表,没有索引,所以from返回的内容要尽量少 4. count()优...

MySql表分区——partition

2017-06-13
阅读 3 分钟
16.3k
一、分区的优点 和单个磁盘或文件系统分区相比,可以存储更多的数据。 优化查询。 where 子句中包含分区条件时,可以只扫描必要的分区。 涉及聚合函数的查询时,可以容易的在每个分区上并行处理,最终只需汇总得到结果。 对于已经过期或者不需要保存的数据,可以通过删除与这些数据有关的分区来快速删除数据。 跨多个磁...

Mysql索引优化

2017-06-09
阅读 10 分钟
10.9k
一、索引的数据结构 B-Tree(mysql主要使用 B-tree 平衡树) 聚簇索引与非聚簇索引 聚簇索引:索引的叶节点指向数据 非聚簇索引:索引的叶节点指向数据的引用 索引类型 优 劣 聚簇索引 查询数据少时,无须回行  不规则插入数据,频繁的页分裂 myisam使用非聚簇索引,innodb使用聚簇索引 对于innodb引擎: 主键索引既存...

Linux 命令 top 拆解

2017-06-09
阅读 3 分钟
3.7k
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。 一、内容介绍 top 命令运行图: 1. 第一行——基本信息 load average:   load average 表示系统负载均值,使用 top 或 uptime 可以查看到负载均值的信息,三个数值分表表示 1分钟内 、5分钟内 、 15分钟内的系统负载均值,要理解这三个...