使用 Vagrant 打包并运行本地开发环境

使用工具 Virtualbox 免费开源的虚拟机软件,使用它可以快速生成虚拟机 Vagrant 基于Ruby的工具,用于创建和部署虚拟化开发环境 Git 使用Git for Windows 来作命令行工具 ...

2019-08-18 23:55:05

阅读数 7

评论数 0

centos7 安装 kafka 2.3.0 并配置集群

安装 java 11 sudo yum -y install java-11-openjdk* https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux...

2019-08-14 01:15:08

阅读数 25

评论数 0

使用 Vagrant 和 Virtualbox 快速搭建服务器集群

使用工具 Virtualbox 免费开源的虚拟机软件,使用它可以快速生成虚拟机 Vagrant 基于Ruby的工具,用于创建和部署虚拟化开发环境 Git 使用Git for Windows 来作命令行工具 Centos 服务器集群基于centos,需要在 vagrant 官网下载centos 的...

2019-08-11 23:51:33

阅读数 14

评论数 0

比 json 快 10 倍的的msgpack

json 和 msgpack 都是非常优秀的序列化格式,下面我们将简单的对比一下两者的性能 使用语言 python 2.7 序列化数据类型:大小为 30 m 左右的 dict 测试过程,先伪造 20w 个元素的 dict 然后将 dict 序列化存入文本,读取文本数据进行反序列化 msg...

2019-07-12 21:16:57

阅读数 17

评论数 0

浅谈CAP理论

CAP 则是分布式系统的三要素 ,分别是 一致性 Consistency 可用性 Availability 分区容错性 Partition tolerance A BC 一个简单的分布式系统架构如上图,serve端 一共由B,C组成,client端为 A 下面我们来简单谈一下什么是CA...

2019-01-16 19:22:10

阅读数 63

评论数 0

Innodb 自适应哈希索引的优缺点

名称 自适应哈希索引 适合使用场景 适合使用 = 和 IN 操作符的等值查询 不合适场景 不适合使用 like 和 % 的范围查询和高并发的joins 优点 提高了Innodb的内存使用率和一些情况下二级索引的查询效率 缺点 占用Innodb的内存缓存,使用了 lact...

2019-01-16 18:10:20

阅读数 252

评论数 0

标准SQL事务隔离级别与Mysql事务隔离级别的区别与实现

标准SQL的事务隔离级别 事务隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 不可重复读(read-committed) 否 是 是 可重复读(repeatable-read) 否 否 是 串行化(serializable...

2019-01-15 18:52:12

阅读数 93

评论数 0

Go 语言实现堆排序与快速排序

go 语言实现堆排序 package main import ( "fmt" ) func buildHea...

2019-01-11 18:57:00

阅读数 84

评论数 0

Mysql 实现主从强一致性和高可用性

在一些对数据有强一致性要求的应用中,数据库宕机导致数据丢失是我们一定要避免的情况。所以保证数据的一致性对我们而言非常重要。 如何做到主从的强一致性呢? 在单机数据库中为了保证事务更新操作不会丢失会使用 WAL 日志优先(Write-Ahead-Logging)技术 WAL 的实现其实非...

2019-01-04 18:20:22

阅读数 1212

评论数 8

浅谈 Mysql 事务 由 ACID 到 MVCC

在 Mysql 的并发控制中我们常常需要使用到 锁 和 MVCC,那么这两者的使用场景有什么区别呢,为什么有了锁还要引入 MVCC 呢?下面我将为大家娓娓道来这两者使用上的区别 Mysql 的锁由 共享锁(读锁) 和 排它锁(写锁) 组成 按粒度也可以分为表锁和行锁 加锁和解锁遵循 2PL 即 ...

2019-01-02 19:58:24

阅读数 77

评论数 0

ACID 和 CAP 一致性的区别

ACID 代表数据库的四个基本要素,分别是 原子性 Atomicity 一致性 Consistency 隔离性 Isolation 持久性 Durability CAP 则是分布式系统的三要素 ,分别是 一致性 Consistency 可用性 Availability 区分容错性 ...

2019-01-02 13:39:54

阅读数 230

评论数 0

二叉树非递归遍历

<?php Class BTNode // 节点类 { public $data; public $lChild; public $rChild; public fu...

2018-12-06 16:45:42

阅读数 69

评论数 0

Go 的面试基础算法(一)

查找数据库字段中重复的数据 SELECT grade FROM user GROUP BY grade HAVING COUNT(*)>1;

2018-12-06 16:45:20

阅读数 268

评论数 0

leetcode 经典面试题之链表 (2. 两数相加)

两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 单位 数字。 如果,我们将这两个数起来相加起来,则会返回出一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入...

2018-12-06 16:45:09

阅读数 92

评论数 0

leetcode 经典面试题之链表(19. 删除链表的倒数第N个节点)

删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4-&gt...

2018-12-06 16:44:43

阅读数 31

评论数 0

Go websocket 聊天室的详细实现和详细分析

package main import ( "encoding/json" "fmt" &...

2018-10-25 18:00:58

阅读数 1542

评论数 0

Go websocket 做消息推送(视频弹幕的简单实现原理)

server.go package main import ( "github.com/gorilla/websocket" "net/http&...

2018-10-24 18:27:30

阅读数 470

评论数 0

Go 关闭 channel 的 close 方法

在 Go 中我们所以 close() 来关闭一个 channel 官方的注释如下 The close built-in function closes a channel, which must be either bidirectional or send-only. It should ...

2018-10-23 17:58:41

阅读数 614

评论数 0

Go 缓冲 channel 和 非缓冲 channel 的区别

在Go中我们make一个channel有两种方式,分别是有缓冲的和没缓冲的 缓冲channel 即 buffer channel 创建方式为 make(chan TYPE,SIZE) 如 make(chan int,3) 就是创建一个int类型,缓冲大小为3的 channel 非缓冲c...

2018-10-23 13:35:44

阅读数 794

评论数 0

Go 如何让函数只能被调用一次

某些时候我们会有让函数只能被调用一次的需求 完成这个功能可以使用 Go 的 sync.Once 方法 package main import ( "fmt" "sync" ) type SayHello struc...

2018-10-22 18:42:08

阅读数 474

评论数 0

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