董鑫的博客

Memecached缓存原理及基本操作、分布式(一致性hash)

ElasticSearch之centos安装

ElasticSearch之PHP-SDK基础篇

Dockerfile自动构建镜像

nginx keepalive_timeout 设置策略

经调研得知nginx默认设置的http连接超时时间为75s,超过75s,会断掉当前的http连接,而大文件上传时经常会超过75s,这就导致大文件无法上传成功,当时的解决方案是,设置nginx http连接超时时间为30分钟,即参数keepalive_timeout=1800;文件上传问题基本解决;...

Nginx 安装1.13.0版本

1.1, 下载 Nginx,下载地址:http://nginx.org/download/nginx-1.13.0.tar.gz$ wget http://nginx.org/download/nginx-1.13.0.tar.gz1.2, 解压安装包$ tar -zxvf nginx-1.13.0.tar.gz1.3, 进入安装包目录$ cd nginx-1.13.01.4, 编译安装$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-...

Nginx配置性能优化

worker_processes 定义了nginx对外提供web服务时的worker进程数。最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动检测它)。...

Session 入Redis

为什么要把SESSION保存在缓存 就PHP来说,语言本身支持的session是以文件的方式保存到磁盘文件中,保存在指定的文件夹中,保存的路径可以在配置文件中设置或者在程序中使用函数session_save_path()进行设置,但是这么做有弊端,...

详解Laravel依赖注入(DI)和Ioc容器

Laravel这个框架,用起来方便,理解起来不简单。为什么不简单?因为包含了一大堆所谓“先进”的概念,其中依赖注入(DI)和Ioc容器是比较核心的内容之一。我百度了一下,讲PHP DI和Ioc的内容很少,更别说详解Laravel ioc的了。在这里,我综合了几篇写得比较典型的文章,以一个产品经理的身份,从用户体验的角度尝试让初学者也能比较容易理解这个2个概念。...

https是如何保证数据传输的安全

HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。...

TCP协议中的三次握手和四次挥手

先来看看如何建立连接的。Client和Server通信前首先创建TCP连接。建立过程如下图所示:1> Client首先发生SYN报文,并且初始化序号为client_isn;2> Server收到SYN报文后,回SYN+ACK报文,初始化序号为server_isn;3> Client收到SYN+ACK报文后,回ACK报文;TCP的连接是全双工的,因此每个方向都需要单独确认,只不过在2>中将SYN/ACK一起做了,所以就变成了三次握手,而不是四次。...

应对Memcache缓存失效,导致高并发查询DB

当Memcached缓存失效时,容易出现高并发的查询DB,导致DB压力骤然上升。这篇blog主要是探讨如何在缓存将要失效时,及时地更新缓存,而不是如何在缓存失效之后,如何防止高并发的DB查询。解决这个问题有四种思路:比如一个key是aaa,失效时间是30s。...