自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 MySQL中常用工具

mysqladminmysqladmin 是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。可以通过 : mysqladmin --help 指令查看帮助文档示例 : mysqladmin -uroot -p2143 create 'test01'; mysqladmin -uroot -p2143 drop 'test01'; mysqladmin -uroot -p2143 version;mysqlbinlog由于服务器生成的二进制日志

2020-07-16 22:55:17 112

原创 MySQL复制

概述复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。复制原理Master 主库在事务提交时,会把数据变更作为时间 Events 记录在二进制日志文件 Binlog 中。主库推送二进制日志文件 Binlog 中的日志事件到从库的中继日志 Relay Log 。slave重做中继日志中的事件,

2020-07-15 23:17:07 106

原创 MySQL的日志

日志概述MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志(BINLOG 日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。错误日志错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的 , 默认存放目录为 mysql 的数据目录(var/lib/mysql), 默认的日志文件名为 hostname.err(

2020-07-15 23:13:25 117

原创 MySQL的锁

锁的分类从对数据操作的粒度分 :表锁:操作时,会锁定整个表。行锁:操作时,会锁定当前操作行。从对数据操作的类型分:读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁。MySQL锁不同的存储引擎支持不同的锁机制存储引擎表级锁行级锁页面锁MyISAM支持不支持不支持InnoDB支持支持不支持MEMORY支持不支持不支持BDB支持不支持支持

2020-07-15 23:02:26 74

原创 MySQL索引及索引优化

索引索引的概述MySQL官方定义: 索引是帮助MySQL高效获取有序数据的数据结构。在数据之外,数据库还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引的优势劣势优势:1.提高检索的效率,降低数据库IO成本2.通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗劣势:1.索引实际上也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索引列也是占用空间的。2.索引提高查询效率

2020-07-15 22:29:19 97

原创 数据结构-压缩列表

压缩列表的构成压缩列表是redis为了节约内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点可以保持一个字节数组或者一个整数。...

2020-07-06 22:30:38 192

原创 数据结构-整数集合

整数集合的实现每个intset.h/instset 结构表示一个整数集合typedef struct intset {// 编码方式uint32_t encoding;// 集合包含的元素的数量uint32_t length;// 保存元素的数组int8_t contents [];}intset;contents 数组是整数集合的底层实现:整数集合的每个元素都是contents数组的一个数组项,各个数组项的大小从小到大有序地排列,并且数组中不包含任何重复项。length 属性记录整

2020-07-06 22:23:37 248

原创 数据结构-跳跃表

跳跃表的实现跳跃表由redis.h/zskiplistNode和redis.h/zskiplist两个结构定义header: 指向跳跃表的表头节点tail: 指向跳跃表的表尾节点level: 记录目前跳跃表内,层数最大的那个节点的层数,表头节点不包括在内length: 记录跳跃表的长度,跳跃表目前包含节点的数量,表头节点不计算在内BW : 后退指针,指向当前节点的前一个节点。后退指针在程序中从表尾向表头遍历时使用分值: 各个节点中的1.0,2.0和3.0是节点的分值。在跳跃表中节点按各自所保

2020-07-06 21:52:15 91

原创 数据结构-字典

字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对哈希表哈希表由dict.h/dictht结构定义typedef struct dictht { // 哈希表数组 dictEntry **table; // 哈希表大小 unsigned long size; // 哈希表大小掩码,用于计算索引值 // 总是等于size-1 unsigned long sizemask; // 哈希表已有节点的数量 unsigned long

2020-07-01 23:08:03 230

原创 数据结构-链表

链表和链表节点的实现链表节点每个链表节点使用一个adlist.h/listNode 结构表示typedef struct listNode { //前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value;}listNode;adlist.h/list 来持有链表typedef struct list { // 表头节点 listNode *head; // 表尾节点 l

2020-07-01 22:44:11 85

原创 数据结构-简单动态字符串

SDS(simple synamic String)用作Redis默认字符串表示。C字符串只会作为字符串字面量用在一些无须对字符串进行修改的地方,例如打印日志等。SDS定义每个sds.h/sdshdr结构表示一个SDS值struct sdshdr { //字符串的长度 int len; // buf数组中未使用字节的数量 int free; // 字节数组,用于保存字符串 char buf[];}SDS遵循C字符串以空字符结尾的惯例,保存空字符的一字节空间不计算再SDS的len属性,

2020-07-01 22:19:38 167

原创 Git命令

Git常用命令初始化本地库状态查看添加提交查看历史记录前进后退比较文件差异分支操作创建分支查看分支切换分支合并分支删除分支分支冲突解决初始化本地库git init状态查看git status查看工作区、暂存区状态添加git add [file name]将工作区的 “添加/修改” 添加到缓存区提交git commit -m “commit message” [file name]将暂存区的内容提交到本地仓库查看历史记录git loggit log --pretty=online

2020-06-29 21:35:51 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除