- 博客(12)
- 收藏
- 关注
转载 数据库索引实现
数据库(Mysql)索引实现索引定义MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的...
2018-11-27 11:42:58
885
原创 PHP解析Http协议&协议复习
PHP解析Http协议&协议复习最近在整理自己的知识体系,发现很多基础已经忘得差不多了,所以重新学习一次。Http协议HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。请求报文示例GET /public/api/index?id=1 HTTP/1.1Accept: text/html,application/xhtml+x...
2018-11-23 05:38:20
1907
原创 Linux中的I/O模型概念
I/O模型同步、异步、阻塞、非阻塞同步与异步:描述的是用户线程与内核的交互方式,同步指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍然继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。阻塞与非阻塞:描述是用户线程调用内核IO操作的方式,阻塞是指IO操作需要彻底完成后才返回到用户空间;而非阻塞是指IO操作被调...
2018-11-20 03:54:39
248
原创 缓存使用及优化方案
缓存使用及优化方案关于缓存在计算机技术里,大家对于缓存一词肯定不陌生,CPU有缓存、数据库有缓存、静态资源缓存CDN、Redis等等; 在这里我们谈的主要是服务器缓存技术,服务端性能优化,最常用的手段就是缓存; 一般来说,缓存作用是把 热数据/结果数据 存放在读取速度更快的地方(内存),使程序可以节省大量读取时间,从而更快速地加载处理;缓存主要分为本地缓存和远程缓存两种;本...
2018-04-24 01:55:00
6319
原创 redis过期策略
REDIS过期策略简介在使用redis作为缓存的场景下,内存淘汰策略决定的redis的内存使用效率。在大部分场景下,我们会采用LRU(Least Recently Used)来作为redis的淘汰策略;LRU:LRU算法作为内存管理的一种有效算法,其含义是在内存有限的情况下,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间;每次淘...
2018-04-22 12:55:44
1676
原创 PHP版常用算法
PHP版常用算法最近准备面试的资料,顺便整理一下以前的基本算法,写个DEMO记录一下冒泡//冒泡//逐行对比,满足条件则交换function bubbleSort($arrData,$sort = 'desc'){ if(empty($arrData)) return $arrData; //默认有序 $isSorted = true; ...
2018-04-20 02:57:07
3759
1
原创 kafka学习笔记总结
kafka学习笔记总结参考: http://orchome.com/kafka/index https://blog.csdn.net/qq_24084925/article/details/78842844角色说明Message 通信的基本单位,每个 producer 可以向一个 topic(主题)发布一些消息。Producer 消息生产者,是消息的产生的源头,...
2018-04-19 07:45:31
1635
原创 RabbitMQ学习笔记
RabbitMQ学习笔记参考资料: https://www.jianshu.com/p/79ca08116d57 https://blog.csdn.net/zhaozonglu/article/details/52370164介绍RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP :Advanced Message Queue,高级消息队列...
2018-04-18 07:48:48
389
转载 Haproxy+Keepalived+MySQL/MariaDB+Galera构建高可用数据库集群
方案优势:Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短 每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集群中自动剔除 HAProxy能提供负载均衡和故障判断等功能解决服务器系统存在的单点故障 Keepalived能提供客户端连接数据库时使用的虚拟IP地址(VIP)关于HAProxy的负载均衡...
2018-04-14 01:03:07
2316
转载 大型网站架构之分布式消息队列
以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大...
2018-04-14 00:00:12
160
转载 使用Jenkins进行持续集成与发布
我们基于Jenkins的CI/CD流程如下所示。 流程说明应用构建和发布流程说明。用户向Gitlab提交代码,代码中必须包含Dockerfile将代码提交到远程仓库用户在发布应用时需要填写git仓库地址和分支、服务类型、服务名称、资源数量、实例个数,确定后触发Jenkins自动构建Jenkins的CI流水线自动编译代码并打包成docker镜像推送到Harbor镜像仓库Jen...
2018-04-13 23:36:58
537
原创 基于Vagrant 和 Homestead快速搭建Laravel开发环境
详细教程参看:http://laravelacademy.org/post/7658.html简介Laravel 为开发者提供了一套完善的重量级本地开发环境 —— Laravel Homestead。Laravel Homestead 实际是一个打包好各种 Laravel 开发所需软件和工具的 Vagrant 盒子(关于 Vagrant 盒子的释义请参考 Vagrant 官方文档)...
2018-04-13 23:29:08
890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人