11 2019 档案
摘要:一、redis的三种过期策略 1.定时删除在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除优点:保证内存被尽快释放缺点:1)若过期key很多,删除这些key会占用很多的CPU时间,在CPU时间紧张的情况下,CPU不能把所有的时间用来做要紧的事
阅读全文
摘要:一、redis-cluster 1.介绍 高性能1)在多分片节点中,将16384个槽位,均匀分布到多个分片节点中2)存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16383之间)3)根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上4)如果客户
阅读全文
摘要:1.缓存穿透 概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。 解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。 2.缓存雪崩 概念大量的k
阅读全文
摘要:一、哨兵模式 1.主要功能 哨兵主要功能有两点: a、监控所有节点数据库是否在正常运行。 b、master数据库出现故障时,可以自动通过投票机制,从slave节点中选举新的master,实现将从数据库转换为主数据库的自动切换。Master-Slave切换后,master_redis.conf、sla
阅读全文
摘要:一、原理与作用 原理:1.副本库通过slaveof 10.0.0.51 6380命令,连接主库,并发送psync给主库2.主库收到psync,会立即触发BGSAVE,后台保存RDB,发送给副本库3.副本库接收后会应用RDB快照4.主库会陆续将中间产生的新的操作,保存并发送给副本库5.到此,我们主从复
阅读全文
摘要:一、redis为什么这么快 1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;3、采用单线程,避免了不必要的上下文切换
阅读全文
摘要:1.redis的事务是基于队列实现的 mysql的事务是基于事务日志和锁机制实现的redis是乐观锁机制redis与mysql事务的区别: mysql事务是一开始就在内存里面执行了,只是还没有提交。 而redis是把任务放在队列里,还没有执行。只有exec的时候,才是真正的执行了。 开启事务mult
阅读全文
摘要:两种持久化方案RDB AOF 1.RDB持久化 可以在指定的时间间隔内生成数据集的时间点快照优点:速度快、适合于用做备份。主从复制也是基于RDB持久化功能实现的缺点:会有数据丢失rdb持久化核心配置参数:vim /data/6379/redis.confdir /data/6379dbfilenam
阅读全文
摘要:0.key的通用操作 KEYS * keys a keys a* 查看已存在所有键的名字 ****TYPE 返回键所存储值的类型 ****EXPIRE\ PEXPIRE 以秒\毫秒设定生存时间 ***TTL\ PTTL 以秒\毫秒为单位返回生存时间 ***PERSIST 取消生存时间设置 ***DE
阅读全文
摘要:一、linux下redis安装 1.redis 源码包安装 cd /opttar xf redis-3.2.10.tar.gz cd redis-3.2.10/make修改环境变量vim /etc/profile添加以下一行export PATH=/opt/redis-3.2.10/src:$PAT
阅读全文
摘要:一、redis简介 二、redis的安装 三、redis数据类型及应用场景 四、redis的持久化 五、事务 六、redis的单线程 七、主从复制 八、哨兵模式 九、集群 十、redis故障时的一些概念 十一、redis的过期删除策略
阅读全文
摘要:一、关系数据库与非关系数据库的对比 关系型数据库特点: 基于单一关系模型,结构化存储,有完整性约束(关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。) 通过二维表建立数据之间的联系 采用结构化查询语言(SQL)做数据读写 操作保存数据的一致性非关系型数
阅读全文
摘要:一、简介 相当于Linux文件系统,只不过比文件系统强大查看引擎命令show engines;存储引擎是作用在表上的,也就意味着,不同的表可以有不同的存储引擎类型。PerconaDB:默认是XtraDBMariaDB:默认是InnoDB其他的存储引擎支持:TokuDB RocksDBMyRocks以
阅读全文
摘要:关键字就是key的意思 一、B-Tree的性质 1、定义任意非叶子结点最多只有M个儿子,且M>2; 2、根结点的儿子数为[2, M]; 3、除根结点以外的非叶子结点的儿子数为[M/2, M]; 4、每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字) 5、非叶子结点的关键字个
阅读全文
摘要:一、事务的ACID特性 1.Atomic(原子性)所有语句作为一个单元全部成功执行或全部取消。不能出现中间状态。2.Consistent(一致性)如果数据库在事务开始时处于一致状态,则在执行该事务期间将保留一致状态。3.Isolated(隔离性)事务之间不相互影响。4.Durable(持久性)事务成
阅读全文
摘要:1.innodb_flush_log_at_trx_commit (双一标准之一) 作用:主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。查询:select @@innodb_flush_log_at_trx_commit;参数说明
阅读全文
摘要:一、索引作用 提供了类似于书中目录的作用,目的是为了优化查询 二、索引的种类(算法) B树索引 #mysql中最常用的的索引,90%以上Hash索引R树Full textGIS B树B-tree 早期使用,现在不用了B+Tree 在范围查询方面提供了更好的性能(> < >= <= like),在b树
阅读全文
摘要:1.mkdir -p /data/330{7,8,9}/data 2.生成配置文件 cat >> /data/3307/my.cnf << EOF [mysqld] basedir=/app/mysql datadir=/data/3307/data socket=/data/3307/mysql.
阅读全文
摘要:一.infomation_schema库 把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际
阅读全文
摘要:流程控制结构: 顺序结构:程序从上往下依次执行 分支结构:程序从两条或多条路径中选择一条去执行 循环结构:程序在满足一定条件的基础上,重复执行一段代码 一.分支结构 1.1 if函数 功能:实现简单的双分支 语法: select if(表达式1,表达式2,表达式3) 执行顺序: 如果表达式1成立,则
阅读全文
摘要:1.概念 含义:一组预先编译好的sql语句的集合好处: 提高代码的重用性 简化操作 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别: 存储过程:可以有0个返回,也可以有多个返回,适合做批量插入,批量更新 函数:有且仅有1个返回,适合做处理数据后返回一个结果 2.函数的创建 创建语法
阅读全文
摘要:好处: 提高代码的重用性 简化操作 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 存储过程含义:一组预先编译好的sql语句的集合,理解成批处理语句 1.创建语法 create procedure 存储过程名(参数列表)begin 存储过程体(一组合法的sql语句)end注意: 1.参
阅读全文
摘要:一、分类 系统变量: 全局变量 会话变量用户自定义变量: 用户变量 局部变量 二、各变量详情 1.系统变量 说明:变量由系统提供,不是用户定义,属于服务器层面 使用的语法: 1.查看所有的系统变量 show session variables;#默认查看会话级别系统变量 show global va
阅读全文
摘要:视图含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据视图是一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存sql逻辑,不保存查询结果。优点: 简单化 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管
阅读全文
摘要:一、事务的ACID属性 1.原子性 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 2.一致性 事务必须使数据库从一个一致性状态变换到另外一个一致性状态。一致性是指数据处于一种语义上的有意义且正确的状态。一致性是对数据可见性的约束,保证在一个事务中的多次操作的数据中间状
阅读全文
摘要:子查询:一个查询之中嵌套了其他的若干查询。分类:按子查询出现的位置: select后面 仅仅支持标量子查询 from后面 支持表子查询 where或having后面 重点 标量子查询 列子查询 行子查询 exists后面(相关子查询)按结果集的行列数不同: 标量子查询(结果集只有一行一列) 列子查询
阅读全文
摘要:mysql的连接语法: select 查询列表 rom 表1 别名 连接类型 join 表2 别名 on 连接条件 where 筛选条件 group by 分组 having 筛选条件 order by 排序列表这里用的都是sql99语法按功能分类: 内连接: 等值连接 非等值连接 自连接 外连接:
阅读全文
摘要:一、命令的优先级 mysql关键字是有执行优先级区分的,这是重中之重 from 找到表 where 拿着where指定的约束条件,去表中取出一条条记录 group by 将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 having 将分组的结果进行having过
阅读全文
摘要:一、Mysql的安装 二、Mysql用户、权限、密码管理 三、Mysql的登录 四、库与表的管理 五、Mysql数据类型 六、Mysql事务 七、视图 八、变量 九、存储过程 十、自定义函数 十一、流程控制
阅读全文
摘要:数据类型 1. 数值类型 整形:一般来说默认使用int就够用,没必要指定宽度浮点型:定点数类型 DEC等同于DECIMAL位类型(了解):BIT(M)可以用来存放多位二进制数,M范围从1~64,如果不写默认为1位。 整型:tinyinit int bigint 小数: float :在位数比较短的情
阅读全文
摘要:一、库相关操作 1.1创建数据库 CREATE DATABASE 数据库名 charset utf8; 1.2查看数据库 show databases; show create database db1; select database(); 1.3选择数据库 USE 数据库名 1.4删除数据库 D
阅读全文
摘要:一、mysql申请连接的四种方式 1 . TCP/IP TCP/IP套接字连接方式是MySQL在任何平台都提供的一种连接方式,也是网络中使用最多的一种方式。这种方式在TCP/IP连接上建立一个基于网络的连接请求,一般情况下客户端在一台服务器上,而MySQL实例在另外一台服务器上,这两台机器通过TCP
阅读全文
摘要:一、Mysql相关设置 1.设置自增列从1开始 ALTER TABLE stuinfo auto_increment=1; View Code 2.mysql设置局域网访问 查询 select user,host from user; 直接在mysql命令中修改 mysql -u root -p u
阅读全文
摘要:一、用户管理 默认:用户root 创建用户: use mysql; create user 'alex'@'192.168.193.200' identified by '123456'; 创建了alex用户,密码为123456,只能在ip192.168.193.200上连接 create user
阅读全文
摘要:一、linux下Mysql的安装 1.安装mysql5.7.201.1 解压及制作软链接cd /opttar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gzln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql 制作
阅读全文
浙公网安备 33010602011771号