置顶随笔

[置顶]redis 系列11 列表对象

摘要: 一. 列表对象概述 在第9篇中讲到了列表对象的编码可以是ziplist或者linkedlist。ziplist编码的列表对象使用压缩列表作为底层实现,每个压缩列表节点(entry)保存了一个列表元素。例如使用rpush命令将创建一个列表对象作为numbers键的值。 通过上面查看底层数据结构并不是z阅读全文

posted @ 2018-11-15 18:04 花阴偷移 阅读(9) 评论(0) 编辑

[置顶]redis 系列10 字符串对象

摘要: 一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string)、整数、浮点数。在上章节中讲到字符串对象的编码可以是int, raw,embstr。 如果一个字符串对象保存的是整数值,那么对象RedisObject结构的ptr 属性里面将void*转换成long,字符阅读全文

posted @ 2018-11-14 17:56 花阴偷移 阅读(97) 评论(2) 编辑

[置顶]redis 系列9 对象类型(字符串,哈希,列表,集合,有序集合)与数据结构关系

摘要: 一.概述 在前面章节中,主要了解了 Redis用到的主要数据结构,包括:简单动态字符串、链表(双端链表)、字典、跳跃表、 整数集合、压缩列表(后面再了解)。Redis没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建一个对象系统,这个系统对象包括:字符串对象、列表对象、哈希对象(散阅读全文

posted @ 2018-11-13 17:48 花阴偷移 阅读(53) 评论(0) 编辑

[置顶]redis 系列8 数据结构之整数集合

摘要: 一.概述 整数集合(intset)是集合键的底层实现之一, 当一个集合只包含整数值元素,并且这个集合元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。下面创建一个只包含5个元素的集合键,并且集合中所有元素都是整数值,那么这个集合键的底层实现就会是整数集合。 接着添加非整数值,集合键的阅读全文

posted @ 2018-11-12 17:44 花阴偷移 阅读(25) 评论(0) 编辑

[置顶]redis 系列7 数据结构之跳跃表

摘要: 一.概述 跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。在大部分情况下,跳跃表的效率可以和平衡树(关系型数据库的索引就是平衡树结构)相媲美,并且因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序使用跳跃表来代替平衡树。 R阅读全文

posted @ 2018-11-10 16:57 花阴偷移 阅读(122) 评论(0) 编辑

[置顶]mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)

摘要: 一.概述 在mysql 5.5之前,mysql 的复制是异步操作,主库和从库的数据之间存在一定的延时,这样存在一个隐患:当主库上写入一个事务并提交成功,而从库尚未得到主库推送的Binlog日志时,主库down机了,事务Binlog丢失了,此时从库就缺失了这个事务,从而造成主从不一致。 为了解决这个问阅读全文

posted @ 2018-11-09 17:41 花阴偷移 阅读(180) 评论(0) 编辑

[置顶]sql server 临时表(中) Tempdb监控

摘要: 一. 监控概述 Tempdb库空间使用的一大特点,是只有一部分对象,例如用户创建的临时表、table变量等,可以用sys.allocation_units和sys.partitions这样的管理视图来管理,许多内部对象和版本存储在这些管理视图中没有体现,所以sp_spaceused的结果和真实的使用阅读全文

posted @ 2018-11-08 17:39 花阴偷移 阅读(172) 评论(0) 编辑

[置顶]redis 系列6 数据结构之字典(下)

摘要: 一.概述 接着上篇继续,这篇把数据结构之字典学习完, 这篇知识点包括:哈希算法,解决键冲突, rehash , 渐进式rehash,字典API。 1.1 哈希算法 当一个新的键值对 需要添加到字典里面时,程序需要先根据“键值对”的键计算出哈希值和索引值,再根据索引值,将包含新“键值对”的哈希表节点放阅读全文

posted @ 2018-11-07 17:35 花阴偷移 阅读(137) 评论(0) 编辑

[置顶]redis 系列5 数据结构之字典(上)

摘要: 一. 概述 字典又称符号表(symbol table),关联数组(associative array), 映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。在字典中,一个key和一个value进行关联称为键值对。在字典中每个键都是唯一的,程序可以在字典中根据键查找关阅读全文

posted @ 2018-11-04 17:01 花阴偷移 阅读(129) 评论(0) 编辑

[置顶]sql server 临时表(上) Tempdb概述

摘要: 一.概述 在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作。主要用于存放局部临时表,全局临时表,表变量,都是基于临时特征,每次服务器或服务重启后,都会按照Model库的配置重新创建TempDB库。在sql serve阅读全文

posted @ 2018-11-02 17:38 花阴偷移 阅读(89) 评论(0) 编辑

[置顶]redis 系列4 数据结构之链表

摘要: 一. 概述 链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可能通过增删节点来灵活地调整链表的长度。作为一种数据结构,在C语言中并没有内置的这种数据结构。所以Redis构建了自己的链表实现。链表在Redis中应用非常多,比如列表键的底层实现之一就是链表,当一个列表键包含了数量比较多的元素阅读全文

posted @ 2018-11-01 17:56 花阴偷移 阅读(76) 评论(0) 编辑

[置顶]redis 系列3 数据结构之简单动态字符串 SDS

摘要: 一. SDS概述 Redis 没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。Redis只会使用C字符串作为字面量。在Redis里,使用SDS来表示字符串值,是一个可阅读全文

posted @ 2018-10-31 17:40 花阴偷移 阅读(131) 评论(0) 编辑

[置顶]redis 系列2 知识点概述

摘要: 一.概述 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmap阅读全文

posted @ 2018-10-30 17:58 花阴偷移 阅读(42) 评论(0) 编辑

[置顶]mysql 架构篇系列 3 复制运行状态监控与选项参数说明

摘要: 一. 概述 在上一篇中,搭建了一主一从的复制架构,这篇通过一些诊断方法来了解复制的运行状态和一些选项参数说明。上次mysql主从服务关机,今天在打开mysql服务,出现了错误信息。 1.首先 启动主从mysql服务 2.在从库上执行START SLAVE, 开始复制。 3.在从库上执行SHOW PR阅读全文

posted @ 2018-10-29 17:46 花阴偷移 阅读(125) 评论(0) 编辑

[置顶]sql server 错误日志errorlog

摘要: 一 .概述 SQL Server 将某些系统事件和用户定义事件记录到 SQL Server 错误日志和 Microsoft Windows 应用程序日志中。 这两种日志都会自动给所有记录事件加上时间戳。 使用 SQL Server 错误日志中的信息可以解决SQL Server的相关问题。 查看 SQ阅读全文

posted @ 2018-10-28 14:28 花阴偷移 阅读(192) 评论(0) 编辑

[置顶]mysql 架构篇系列 2 复制架构一主一从搭建(异步复制)

摘要: 一. 环境准备 1.1 主库环境(172.168.18.201) 环境 说明 查看脚本 操作系统版本 CentOS Linux release 7.4.1708 (Core) cat /etc/redhat-release 操作系统用户名和密码 root js*2015 IP地址 172.168.1阅读全文

posted @ 2018-10-26 17:41 花阴偷移 阅读(202) 评论(0) 编辑

[置顶]mysql 架构篇系列 1 复制原理和复制架构

摘要: 一. 复制概述 mysql 从3.23版本开始提供复制功能,复制是指将主数据库的ddl和dml操作通过二进制日志传到复制服务器(也叫从服务器)上,然后在从服务器上对这些日志重新执行(也叫重做),从而使得从服务器和主服务器的数据保持同步。 mysql 支持一台主服务器同时向多台从服务器进行复制,从服务阅读全文

posted @ 2018-10-25 17:37 花阴偷移 阅读(199) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 55 权限与安全(安全事项 )

摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解。 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限,在安装mysql时就要重视安全问题。 (1) 锁定mysql用户。 (2) 其它任何用户都采取独立的阅读全文

posted @ 2018-10-23 17:46 花阴偷移 阅读(205) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 54 权限与安全(账号管理的各种权限操作 下)

摘要: 1. 查看权限 2. 更改权限 可以进行权限的新增和回收,使用grant来新增,使用revoke来回收。在前面52章节中也有介绍revoke的使用。 也可以直接对user,db,tables_priv,columns_prive 四个权限表进行更新,这个在上篇中也有讲到。 更多revoke语法的了解阅读全文

posted @ 2018-10-20 09:02 花阴偷移 阅读(195) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 53 权限与安全(账号管理的各种权限操作 上)

摘要: 一. 概述 在了解前两篇的权限系统介绍后,这篇继续讲账号的管理,这些管理包括账号的创建,权限更改,账号删除等。用户连接数据库的第一步都是从账号创建开始。 1. 创建账号 有两种方法可以用来授权账号:(1) 是使用grant来授权账号,(2) 是直接操作权限表。 使用grant操作简单,出错率更少。使阅读全文

posted @ 2018-10-19 17:42 花阴偷移 阅读(108) 评论(0) 编辑

2018年11月15日

redis 系列11 列表对象

摘要: 一. 列表对象概述 在第9篇中讲到了列表对象的编码可以是ziplist或者linkedlist。ziplist编码的列表对象使用压缩列表作为底层实现,每个压缩列表节点(entry)保存了一个列表元素。例如使用rpush命令将创建一个列表对象作为numbers键的值。 通过上面查看底层数据结构并不是z阅读全文

posted @ 2018-11-15 18:04 花阴偷移 阅读(9) 评论(0) 编辑

2018年11月14日

redis 系列10 字符串对象

摘要: 一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string)、整数、浮点数。在上章节中讲到字符串对象的编码可以是int, raw,embstr。 如果一个字符串对象保存的是整数值,那么对象RedisObject结构的ptr 属性里面将void*转换成long,字符阅读全文

posted @ 2018-11-14 17:56 花阴偷移 阅读(97) 评论(2) 编辑

2018年11月13日

redis 系列9 对象类型(字符串,哈希,列表,集合,有序集合)与数据结构关系

摘要: 一.概述 在前面章节中,主要了解了 Redis用到的主要数据结构,包括:简单动态字符串、链表(双端链表)、字典、跳跃表、 整数集合、压缩列表(后面再了解)。Redis没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建一个对象系统,这个系统对象包括:字符串对象、列表对象、哈希对象(散阅读全文

posted @ 2018-11-13 17:48 花阴偷移 阅读(53) 评论(0) 编辑

2018年11月12日

redis 系列8 数据结构之整数集合

摘要: 一.概述 整数集合(intset)是集合键的底层实现之一, 当一个集合只包含整数值元素,并且这个集合元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。下面创建一个只包含5个元素的集合键,并且集合中所有元素都是整数值,那么这个集合键的底层实现就会是整数集合。 接着添加非整数值,集合键的阅读全文

posted @ 2018-11-12 17:44 花阴偷移 阅读(25) 评论(0) 编辑

2018年11月10日

redis 系列7 数据结构之跳跃表

摘要: 一.概述 跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。在大部分情况下,跳跃表的效率可以和平衡树(关系型数据库的索引就是平衡树结构)相媲美,并且因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序使用跳跃表来代替平衡树。 R阅读全文

posted @ 2018-11-10 16:57 花阴偷移 阅读(122) 评论(0) 编辑

2018年11月9日

mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)

摘要: 一.概述 在mysql 5.5之前,mysql 的复制是异步操作,主库和从库的数据之间存在一定的延时,这样存在一个隐患:当主库上写入一个事务并提交成功,而从库尚未得到主库推送的Binlog日志时,主库down机了,事务Binlog丢失了,此时从库就缺失了这个事务,从而造成主从不一致。 为了解决这个问阅读全文

posted @ 2018-11-09 17:41 花阴偷移 阅读(180) 评论(0) 编辑

2018年11月8日

sql server 临时表(中) Tempdb监控

摘要: 一. 监控概述 Tempdb库空间使用的一大特点,是只有一部分对象,例如用户创建的临时表、table变量等,可以用sys.allocation_units和sys.partitions这样的管理视图来管理,许多内部对象和版本存储在这些管理视图中没有体现,所以sp_spaceused的结果和真实的使用阅读全文

posted @ 2018-11-08 17:39 花阴偷移 阅读(172) 评论(0) 编辑

2018年11月7日

redis 系列6 数据结构之字典(下)

摘要: 一.概述 接着上篇继续,这篇把数据结构之字典学习完, 这篇知识点包括:哈希算法,解决键冲突, rehash , 渐进式rehash,字典API。 1.1 哈希算法 当一个新的键值对 需要添加到字典里面时,程序需要先根据“键值对”的键计算出哈希值和索引值,再根据索引值,将包含新“键值对”的哈希表节点放阅读全文

posted @ 2018-11-07 17:35 花阴偷移 阅读(137) 评论(0) 编辑

2018年11月4日

redis 系列5 数据结构之字典(上)

摘要: 一. 概述 字典又称符号表(symbol table),关联数组(associative array), 映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。在字典中,一个key和一个value进行关联称为键值对。在字典中每个键都是唯一的,程序可以在字典中根据键查找关阅读全文

posted @ 2018-11-04 17:01 花阴偷移 阅读(129) 评论(0) 编辑

2018年11月2日

sql server 临时表(上) Tempdb概述

摘要: 一.概述 在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作。主要用于存放局部临时表,全局临时表,表变量,都是基于临时特征,每次服务器或服务重启后,都会按照Model库的配置重新创建TempDB库。在sql serve阅读全文

posted @ 2018-11-02 17:38 花阴偷移 阅读(89) 评论(0) 编辑