- 博客(22)
- 资源 (2)
- 收藏
- 关注
转载 什么是IO(二)- IO模型
这部分的东西在网络编程经常能看到,不过在所有IO处理中都是类似的。IO请求的两个阶段: 等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。 使用资源阶段:真正进行数据接收和发生。 举例说就是排队和服务。 在等待资源阶段,IO分为阻塞IO和非阻塞IO。 ...
2018-03-15 15:24:29 531
原创 磁盘IO:缓存IO、直接IO、内存映射
磁盘IO的几种访问方式如下:缓存IO 缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。 读操作:操作系统检查内核的缓冲区有没有需要的数据,如果已经缓存了,那么就直接从缓存中返回;否则从磁盘中读取,然后缓存在操作系统的缓存中。 ...
2018-03-15 15:17:07 1129 2
转载 什么是IO(三)- IO性能的重要指标
最重要的三个指标 IOPSIOPS,即每秒钟处理的IO请求数量。IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。 一块物理硬盘能提供多少IOPS?从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间(找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间(读取数据的时间和返回的时间)。其中寻址时间是固定的(磁头定位到数据的存储的扇区即可),旋转时间受磁盘转速...
2018-03-15 15:13:02 4259
转载 Composer
Composer是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Composer是必须的.对于使用者来说Composer非常的简单,通过简单的一条命令将需要的代码包下载到vendor目录下,然后开发者就可以引入包并使用了.其中的关键在于你项目定义的composer.json,可以定义项目需要依赖的包(可能有多个),而依赖的包可能又依赖其他的包
2017-10-16 15:16:51 229
转载 yii 操作session
在 Yii框架中使用session 的笔记:首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(),在Yii框架中,autoStart 属性缺省被设置为true,所以,虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session:设置session变量:
2017-09-05 16:41:17 223
转载 URL原理、URL编码、URL特殊字符
From: http://blog.csdn.net/chenlycly/article/details/51820727From: http://blog.csdn.net/zmx729618/article/details/51381655From: http://www.cnblogs.com/coco1s/p/5038412.html通常如果一样东西需要
2017-06-28 22:21:57 1407
转载 RabbitMQ基础概念
引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ
2017-05-21 17:52:40 190
原创 php7 安装memcached 扩展 & centos 安装memceche
服务器安装memcache1. 首先安装Libevent事件触发管理器。wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gztar vxf libevent-2.0.21-stable.tar.gzcd libevent-2.0.21-stable./config
2017-04-19 23:15:04 2858
转载 Mysql InnoDB锁和死锁
在使用Mysql的业务中,经常会碰到各种Mysql的死锁.一直以来,都对Mysql的死锁不甚了解,这次我们的发布中也出现了一次死锁,趁这次机会,好好学习一下Mysql的死锁.我们的死锁的讨论是在InnoDB引擎基础上的.1.MySQL索引1.1 聚簇索引(Clustered Indexes)InnoDB存储引擎的数据组织方式,是聚簇索引表:完整的记录,存储在主键索引中,通过
2017-03-29 14:10:32 473
转载 Free 命令
Free 命令是什么free 命令能够显示系统中物理上的空闲free和已用used内存,还有交换swap内存,同时,也能显示被内核使用的缓冲buffers和缓存caches。这些信息是通过解析文件 /proc/meminfo 而收集到的。显示系统内存不带任何选项运行 free 命令会显示系统内存,包括空闲free、已用used、交换swap、缓冲buffers、缓存ca
2017-03-20 21:21:23 360
转载 使用Nginx后如何在web应用中获取用户ip及原理解释
问题背景:在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,使用request.getRemoteAddr()获取到的就一直是nginx服务器的ip的地址,那这时应该怎么办?part1:解决方案我在查阅资
2017-03-03 16:22:11 210
转载 redux在react中的应用(基础篇)
官方文档对redux的介绍:Redux是JavaScript状态容器,提供可预测化的状态管理。注意,redux的集成是非必选的。通过之前的内容介绍我们了解到,单枪匹马的react构建的页面也可以运作得很好。你可能会对redux的编程方式感到无所适从。然而,不管是出于构建大型应用考虑,还是作为进一步的技能提升,redux绝对是一个值得你花时间去学习的框架。
2017-02-27 09:27:41 526
转载 explain 执行计划详解
explain 执行计划详解id:id是一组数字,表示查询中执行select子句或操作表的顺序,如果id相同,则执行顺序从上至下,如果是子查询,id的序号会递增,id越大则优先级越高,越先会被执行。id列为null的就表是这是一个结果集,不需要使用它来进行查询。 select_type:simple:表示不需要union操作或者不包含子查询的简单se
2017-02-24 16:50:56 262
转载 数据库查询select原理
数据库查询select原理 做为B/S架构的开发人员,总是离不开数据库,一般开发员只会应用SQL的四条经典语句:select ,insert,delete,update。但是我从来没有研究过它们的工作原理,这篇我想说一说select在数据库中的工作原理。B/S架构中最经典的话题无非于三层架构,可以大概分为数据层,业务逻辑层和表示层,而数据层的作用一般都是和数据库交互,例如查询
2017-02-24 10:21:33 1350
转载 如何使用 Datadog 监控 NGINX(第三篇)
如何使用 Datadog 监控 NGINX(第三篇)编译自:https://www.datadoghq.com/blog/how-to-monitor-nginx-with-datadog/作者: K Young原创:LCTT https://linux.cn/article-6088-1.html译者: strugglingyouth本文地址:https://li
2017-02-22 23:14:14 317
转载 如何收集 NGINX 指标(第二篇)
如何收集 NGINX 指标(第二篇)编译自:https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/作者: K Young原创:LCTT https://linux.cn/article-5985-1.html译者: strugglingyouth本文地址:https://linux.cn/articl
2017-02-22 23:12:28 302
转载 如何监控 NGINX(第一篇)
如何监控 NGINX(第一篇)原创:LCTT https://linux.cn/article-5970-1.html译者: strugglingyouth本文地址:https://linux.cn/article-5970-1.html2015-8-7 07:30 评论: 2 收藏: 12 分享: 1
2017-02-22 23:07:10 381
转载 fetch设置timeout
让fetch也可以timeout原生的HTML5 API fetch并不支持timeout属性,习惯了jQuery的ajax配置的同学,如果一时在fetch找不到配置timeout的地方,也许会很纠结。fetch 的配置 API 如下:语法fetch(input, init).then(function(response) { ... });参数
2017-02-20 09:31:53 5671 1
原创 docker的linux安装
centos:Docker 支持 CentOS6 及以后的版本。CentOS6对于 CentOS6,可以使用 EPEL 库安装 Docker,命令如下$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm$ sudo yum install dock
2017-02-16 21:19:23 280
转载 58到家数据库30条军规解读
军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数
2017-02-16 21:06:43 182
转载 linux socket 编程(C语言)
最近看了一些网络编程的书籍,一直以来总感觉网络编程神秘莫测,其实网络编程入门还是很容易学的,下面这些代码是我在Linux下编写的,已经运行过了,编译之后就可以运行了。有不足之处希望大家多多指出,共同学习交流。 套接字是一种进程间的通信的方法,不同于以往介绍的进程间通信方法的是,它并不局限于同一台计算机的资源,例如文件系统空间,共享内存或者消息队列。套接字可以认为是对管道概念的扩展——一
2017-02-15 21:49:00 292
转载 windows socket 网络编程
1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成为“
2017-02-15 21:44:48 289
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人