摘要:
第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址:http://www.erlang.org/downloads 机位数选择erlang下载版本。 下载完是这么个东西: 双击,点next就可 阅读全文
摘要:
1.如何进行水平分表一般可以有范围法和hash法来进行水平分表。假设现在有30万行数据,需要对它们进行水平分表:范围法很好理解,可以让第1-100000行数据存放在表1,第100001-200000行数据存放在表2,第200001-300000行数据存放在表3,就完成了水平分表。 2. 垂直分表 垂 阅读全文
摘要:
php 中 yield 的使用 首先我们带着几个问题来找答案 yild 是什么 yield 在使用场景上,直观的查看代码,和 return 有点像。 实际他们是截然不同的东西, 它是一个生成器, 只有在你调用他的时候才会执行,并不产生多余的值,这个东西放到我们下面来讲 和yield有关的东西是什么 阅读全文
摘要:
1.Trait 是什么东西 Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相 阅读全文
摘要:
引言 给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿), 机器内存限制100M,该如何找出其中相同的记录? 思路 处理该问题的困难主要是无法将这海量数据一次性读内内存中. 一次性读不进内存中,那么是否可以考虑多次呢?如果可以,那么多次读入要怎么计算相同的值呢? 我们可以用分治 阅读全文
摘要:
1.低耦合就是要求在我们的软件系统中,某元素不要过度依赖于其它元素。2.是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性。 阅读全文
摘要:
了解二叉树、AVL树、B树的概念B树和B+树的应用场景为什么用B树或者B+树来做索引结构 B树是一种多路平衡查找树, 二叉树:每个节点最多支持两个分叉树,相比单向链表来向多了一个分支二叉查找树:在二叉树基础上添加了一个规则,它的规则是左子树的所有子节点,都要小于它的根节点,右子树的所有子节点,都要大 阅读全文
摘要:
1、发布系统的存储采用MySQL数据库。每天增加5万多件,预计运行和维护将持续三年。如何优化它? a、 设计良好的数据库结构,允许部分数据冗余,尽可能避免join查询,并提高效率。 b、 选择合适的表字段数据类型和存储引擎,适当的添加索引。 c、 Mysql库主从读写分离。 d、 找规律分表,减少单 阅读全文
摘要:
一、普通索引最基本的索引,只是加快了查询速度。 二、唯一索引与普通索引类似,不同的是:索引的列值必须唯一,但允许有空值,也就是 null,如果是组合索引,则列值的组合必须是唯一的。 三、主键索引即我们常用的主键 id, 它是一种特殊的唯一索引,不允许有空值,一般在建表时同时创建主键索引。特点: 1) 阅读全文
摘要:
1、Redis和Memcache都将数据存储在内存中,都是内存数据库。然而,Memcache也可以用来缓存其他东西,比如图片和视频;2、Redis不仅支持简单的k/v数据,还提供string、hash、list、set、Zset等数据结构的存储;3、虚拟内存——当物理内存耗尽时,redis可以将一些 阅读全文