自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

稻草人技术博客

Keep Calm and Carry On

  • 博客(13)
  • 论坛 (4)
  • 收藏
  • 关注

转载 Golang functional options

当我们定义了一个对象时,一般会创建一个方法方便外部初始化一个实例。如下面的例子:type Client struct { timeout int64 dialFunc func() error healthCheck func() bool} func NewClient(timeout int64, dialFunc func() error, healthChec...

2020-02-27 15:46:42 115

转载 Uber Go 语言编程规范

文章目录1. 介绍2. 编程指南2.1 指向 Interface 的指针2.2 Receiver 和 Interface2.3 mutex 默认 0 值是合法的2.4 拷贝 Slice 和 Map2.5 使用 defer 做资源清理2.6 channel 的 size 最好是 1 或者是 unbuffered2.7 枚举变量应该从 1 开始2.8 Error 类型2.9 Error Wrappin...

2020-02-27 12:41:01 85

转载 MySQL InnoDB事务隔离级别和锁机制

文章目录1.基础知识1.索引1.聚集索引2.辅助索引2.锁机制1.记录锁2.范围锁3.多粒度锁3.并发控制协议1.MVCC2.LBCC4.并发问题1.脏读2.不可重复读3.幻读2.事务隔离级别1.read uncommitted2.read committed3.repeatable read4.seraliable3.SQL加锁分析1.id列是主键,RC隔离级别2.id列是辅助唯一索引,RC隔离...

2020-02-26 17:24:29 153

转载 Redis五种数据类型的底层实现

简介Redis的五大数据类型也称五大数据对象;前面介绍过6大数据结构,Redis并没有直接使用这些结构来实现键值对数据库,而是使用这些结构构建了一个对象系统redisObject;这个对象系统包含了五大数据对象,字符串对象(string)、列表对象(list)、哈希对象(hash)、集合(set)对象和有序集合对象(zset);而这五大对象的底层数据编码可以用命令OBJECT ENCODING来...

2020-02-24 17:52:32 483

转载 缓存在大型分布式系统中的最佳应用

文章目录缓存概述缓存的原理缓存分类缓存媒介缓存设计CDN缓存CDN原理CDN优缺点CDN架构参考CDN技术实践反向代理缓存缓存原理Squid示例代理缓存比较分布式缓存MemcacheRedis本地缓存硬盘缓存内存缓存缓存架构示例缓存常见问题数据一致性缓存高可用缓存雪崩缓存穿透缓存概述缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。...

2020-02-20 00:15:25 142

转载 PHP-FPM 多进程模型

PHP-FPM 提供了更好的 PHP 进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。那么当我们谈论 PHP-FPM 多进程模型的时候,作为 PHPer 的你了解多少呢?首先,让我们一起看几个问题:①:PHP-FPM 启动进程的方式主要有哪几种,区别是什么?②:PHP-FPM,是主进程接收请求转给子进程,还是子进程单独接收请求并处理,如何验证?③:为何在 PHP-FPM 模式...

2020-02-06 17:41:55 433

转载 Nginx进程模型的理解

nginx模型有两种进程,master进程和worker进程。master进程主要用来管理worker进程,管理包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。而基本的网络事件,则是放在worker进程中来处理了。多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程...

2020-02-06 17:36:32 104

转载 MySQL视图的作用

MySQL视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,MySQL视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限...

2020-02-05 18:10:01 51

转载 MySQL视图

视图概述视图是由数据库中的一个表或多个表导出的虚拟表,是一种虚拟存在的表,方便用户对数据的操作。视图的概念视图是一个虚拟表,是从数据库中一个或多个表中导出来的表,其内容由查询定义。同真实表一样,视图包含一系列带有名称的列和行数据。但是,数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据...

2020-02-05 18:02:13 22

转载 MySQL中Innodb的聚簇索引和非聚簇索引

聚簇索引数据库表的索引从数据存储方式上可以分为聚簇索引和非聚簇索引(又叫二级索引)两种。Innodb的聚簇索引在同一个B-Tree中保存了索引列和具体的数据,在聚簇索引中,实际的数据保存在叶子页中,中间的节点页保存指向下一层页面的指针。“聚簇”的意思是数据行被按照一定顺序一个个紧密地排列在一起存储。一个表只能有一个聚簇索引,因为在一个表中数据的存放方式只有一种。一般来说,将通过主键作为聚簇索引...

2020-02-05 17:13:04 93

转载 B树和B+树的区别

B树b树(balance tree)和b+树应用在数据库索引,可以认为是m叉的多路平衡查找树,但是从理论上讲,二叉树查找速度和比较次数都是最小的,为什么不用二叉树呢?因为我们要考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每一个磁盘页(对应索引树的节点)。所以我们要减少IO次数,对于树来说,IO次数就是树的...

2020-02-05 17:06:33 221

转载 LevelDB实现原理

LevelDb 101说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二。Jeff Dean其人:http://research.google.com/people/jeff/index.htm...

2020-02-04 17:26:20 76

转载 Gitflow工作流程

在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉。在你开始阅读之前,请记住:这些流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能的做法...

2020-02-04 16:26:20 76

空空如也

Shower稻草人的留言板

发表于 2020-01-02 最后回复 2020-01-02

我也吐个关于修改用户名的槽。。

发表于 2016-11-25 最后回复 2016-11-25

突然发现原来用富文本编辑器写的博文里的代码示例都没发看了。。。

发表于 2016-11-24 最后回复 2016-11-25

网站访问速度慢

发表于 2016-10-12 最后回复 2016-10-26

空空如也

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

TA关注的人 TA的粉丝

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