201703-20 缓存那些事 前言一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图1所示,用户请求从界面(浏览器或App界面)到网络转发、应用服务再到存储(数据库或文件系统),然后返回到界面呈现内容。随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时我们的应用服务器和数据库服务器所做的计算也越来越多。但是往往我们的应用服务器资源是有限的,且技术变革是缓慢的,数... 继续阅读 >
201611-03 memcached与redis实现的对比 memcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了。前两年还在学校时,我曾经读过它们的主要源码,如今写篇笔记从个人角度简单对比一下它们的实现方式,权当做复习,有理解错误之处,欢迎指正。文中使用的架构类的图片大多来自于网络,有部分图与最新实现有出入,文中已经指出。一.综述读一个软件的源码,首先要弄懂软件是用作干什么的,那memcached和redis是干啥的?众所周知,数据一般会放在数... 继续阅读 >
201504-01 构建高并发高可用的电商平台架构实践(二)——架构剖析 CDNCDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。对于大规模电子商务平台一般需要建CDN做网络加速,大型平台如淘宝、京东都采用自建CDN,中小型的企业可以采用第三方CDN厂商合作,如蓝汛、网宿、快网等。当然在选择CDN厂商时,需要考... 继续阅读 >
201501-30 PHP如何将session保存到memcached中?如何分布式保存PHP session session_set_save_handler无关的memcached保存session的方法在memcached服务器上1)下载memcached#wgethttp://memcached.googlecode.com/files/memcached-1.4.15.tar.gz2)由于memcached依赖libevent所以需要先安装libevent库,这里直接yum安装#yuminstall*libevent*3)安装memcached#./configure--prefix=/usr/local/memcached#make#makeinstall4)启动memcached#/usr/local/memcached/bin/memcached-d-m4096-p1... 继续阅读 >
201501-27 在Linux上配置Memcached输出日志方法详解 Memcached在linux上安装时并不支持显示地配置服务日志,我们如果想要把Memcached服务日志保存到日志文件中,则需要在启动参数中进行配置。安装好Memcached后,我们可以通过-h命令查看Memcached支持的参数:[root@localhost~]$/usr/local/memcached/bin/memcached-h#其余的省略-vverbose(printerrors/warningswhileineventloop)-vvveryverbose(alsoprintclientcommands/reponses)-vvvextremelyverbose(als... 继续阅读 >
201411-07 Ubuntu中memcached的安装、配置和启用关闭 Memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。最初为了加速LiveJournal访问速度而开发的,后来被很多大型的网站采用。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统,... 继续阅读 >
201411-07 PHP数据库缓存扩展Memcache简介、安装及相关函数大全 一、简介及安装Memcache模块提供了于Memcached方便的面向过程及面向对象的接口,Memcached是为了降低动态web应用从数据库加载数据而产生的一种常驻进程缓存产品。Memcache模块同时提供了一个session 处理器(memcache)。安装Memcached步骤可参考这篇文章:Ubuntu中memcached的安装和配置。安装PHP的Memcache扩展:从http://pecl.php.net/package/memcache这里下载相应的扩展安装包,然后解压到指定目录cd/path/to/mem... 继续阅读 >
201411-07 PHP高性能分布式内存对象缓存系统扩展Memcached的安装及使用 一、简介及安装memcached是一个高性能分布式的内存对象缓存系统,通常被用于降低数据库加载压力以提高动态web应用的响应速度。此扩展使用了libmemcached库提供的api与memcached服务端进行交互。它还提供了一个session处理器(memcached)。关于memcached的安装,可参考这篇文章:Ubuntu中memcached的安装和配置。在安装php扩展memcached之前,需要先安装libmemcached,libmemcached是memcached的C/C++本地客户端库。安装lib... 继续阅读 >
201411-07 PHP缓存篇:字节码缓存和对象缓存 PHP自身效率很高,但是执行创建远程连接、加载文件等操作时容易出现瓶颈,幸运的是,我们有很多工具来加速这部分操作,或减少这些耗时操作的执行次数。字节码缓存在一个PHP文件被执行时,它先被编译为字节码(也称opcode),然后这些字节码被执行。如果文件没有修改,那么字节码也会保持不变,这意味着编译这一步白白浪费了CPU资源。这就是引入字节码缓存的原因,通过把字节码保存在内存中来消除冗余的编译,重用它们完成后续的... 继续阅读 >
201410-21 Windows安装配置php+memcached的方法 Windows下Memcached的安装配置方法1、将第一个包解压放某个盘下面,比如在c:\memcached。2、在终端(也即cmd命令界面)下输入'c:\memcached\memcached.exe-dinstall'安装。3、再输入:'c:\memcached\memcached.exe-dstart'启动。(需要注意的:以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了)。4、下载php_memcache.dll文件,把它放入php文件夹的ext目录中。5、在php.ini加入一... 继续阅读 >