Memcached是什么

Memcached是一种高性能的分布式内存对象缓存系统。在动态应用,Memcached既能提高访问的速度,同时还减低了数据库的负载。DangaInteractive为提升LiveJournal.com的速度研发了Memcached。目前,LiveJournal.com每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由Web服务器和数据库服务器组成的集群完成的。Memcached几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及Memcache失效时对数据库的访问速度。

WordPress支持Memcached吗

是的,WordPress默认支持ObjectCache,所以在WordPress实现Memcached就是使用Memcached把WordPress的ObjectCache写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从ObjectCache数据存到文件,然后从硬盘中读取,Memcached有很大的速度优势。

大家直接看下上面的对比图就能很清楚的看到,Memcached之后的缓存对象的命中率,可以看出命中率是非常高,接近97%,基本上可以保证所有数据都是从能内存中取,所以使用Memcached进行缓存是非常有效的。

配置服务器Memcached服务

1.服务器安装Memcached,官网上并未提供Memcached的Window平台安装包,我们可以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可

32位系统1.2.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.2.5-win32-bin.zip

32位系统1.2.6版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.2.6-win32-bin.zip

32位系统1.4.4版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-win32-1.4.4-14.zip

64位系统1.4.4版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-win64-1.4.4-14.zip

32位系统1.4.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.4.5-x86.zip

64位系统1.4.5版本:https://www.svlik.com/wp-content/uploads/2017/12/memcached-1.4.5-amd64.zip

在1.4.5版本以前memcached可以作为一个服务安装,而在1.4.5及之后的版本删除了该功能。因此我们以下介绍两个不同版本1.4.4及1.4.5的不同安装方法:

memcached<1.4.5版本安装

1、解压下载的安装包到指定目录,可以是C盘也可以是D盘,本站以C盘根目录为例来说,其他盘符的同理操作。

2、在1.4.5版本以前memcached可以作为一个服务安装,使用管理员权限运行以下命令:

第一步:用win+r打开cmd输入cd c:/进入你解压Memcached所在的盘符

第二步:再输入cd memcached进入解压盘符的Memcached文件夹

第三步:再输入memcached.exe -d install安装Memcached为系统服务

第四步:启动Memcached服务输入memcached.exe -d start

打开服务器的任务管理器,如果看到Memcached.exe的进程,就说明服务已经启动,每次服务器启动都会自动启动。

同理如果需要停止或者卸载Memcached服务,需要执行以下2条命令

c:\memcached\memcached.exe -d stop //停止Memcached服务
c:\memcached\memcached.exe -d uninstall //卸载Memcached服务

memcached的配置项可以在注册表的如下路径来修改

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached

memcached使用的缓存内存配置修改ImagePath,执行以下命令

c:\memcached\memcached.exe -d runservice -m 512

此外我们还可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。

memcached >= 1.4.5 版本安装

memcached1.4.5 版本之后,memcached 不能作为服务来运行,需要使用任务计划中来开启一个普通的进程,在 window 启动时设置 memcached自动执行。

我们使用管理员身份执行以下命令将 memcached 添加来任务计划表中:

schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"

删除 memcached 的任务计划可以执行以下命令:

schtasks /delete /tn memcached

到此windows服务器的Memcached配置已经完成,接下来就是配置Memcached的PHP扩展

配置服务器Memcached扩展

官方地址:http://pecl.php.net/package/memcache/3.0.8/windows

貌似目前memcache的windowsphp扩展只支持到php5.6版,对于php7.0版本的我都没有去研究测试,梵天网目前使用的也是php5.6版本,这里有个ts和nts版本的选择,大家可以在网站新建一个phpinfo.php文件,里面加入 <?php phpinfo(); ?>,用浏览器打开这个phpinfo.php,就可以看到网站的php相关信息,打开这个页面。用CTRL+F查找  Thread Safe,如下图

如果显示disabled 那么我们就选择nts版本,如果选择enabled 那么就选择ts版本

顺便普及下ts和nts的区别

Ts与nts的区别:

Windows版的PHP从版本5.2.1开始有Thread Safe和NoneThread Safe之分。

先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

ISAPI执行php选择ts ,FastCGI执行php请选择nts

将下载好的php_memcache.dll到你php的ext目录下,如果你的服务器是多版本php,请一定选择好你网站的php版本的ext目录下。

再打开php下面PHP.ini进行配置,

在PHP的配置文件中:php.ini 的底部加上以下的代码:

[memcache]
extension = php_memcache.dll

4.重新启动IIS,然后查看一下phpinfo.php,如果有memcache这个项目,那么就恭喜安装成功!

接下来就是全文的重点,wordpress如何配置memcache缓存

wordpress配置memcache缓存

下载 WordPress Memcached 插件:http://wordpress.org/extend/plugins/memcached/

下载好这个object-cache.php 复制到 wp-content,注意不是 wp-content/plugins/。

WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

到此整个教程结束,大楷的总结下 主要三大步

1. 服务器配置memcached服务 2.服务器安装memcached PHP扩展3.下载wordpressd的Memcached插件

Memcached还有其他的一些常用的命令如下

 -p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助 来源:https://www.svlik.com/994.html

如何配置Memcached高速缓存,加快wordpress的速度的更多相关文章

  1. centos7配置Memcached

    Memcached是一套分布式的高速缓存系统,用于提升网站访问速度,尤其对于一些大型的.需要频繁访问数据库的网站,访问速度提升效果十分显著. 1.安装memcached yum install mem ...

  2. [技术博客]使用CDN加快网站访问速度

    [技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...

  3. 转载:Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  4. [原创]Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  5. 记——加快gradle 构建速度的经验

    Gradle作为一个新的构建系统,无疑在灵活,扩展,跨平台等各方面都表现得非常优秀,然而,它也有一点备受吐槽,就是速度慢.以下为本人使用gradle过程中,几次加快gradle构建速度的经验之谈. 本 ...

  6. 【设计经验】3、ISE中烧录QSPI Flash以及配置mcs文件的加载速度与传输位宽

    一.软件与硬件平台 软件平台: 操作系统:Windows 7 64-bit 开发套件:ISE14.7 硬件平台: FPGA型号:XC6SLX45-CSG324 QSPI Flash型号:W25Q128 ...

  7. 如何在Windows平台下安装配置Memcached

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一 ...

  8. 转: 加快Android编译速度

    转: http://timeszoro.xyz/2015/11/25/%E5%8A%A0%E5%BF%ABandroid%E7%BC%96%E8%AF%91%E9%80%9F%E5%BA%A6/ 加快 ...

  9. 在Windows平台下安装与配置Memcached及C#使用方法

    1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...

随机推荐

  1. go-运算符

    算术运算符 ++,--只能放在变量后面,不能放在前面 独立使用 目的:更简洁 go语言不支持三元运算符 键盘输入 fmt.scanln 会在换行时扫描,所以最后一个条目必须换行或达到结束位置 fmt. ...

  2. PHP语法入门以及变量

    1PHP语法入门 1.1PHP是编译型语言      编译语言和解释语言的区别在于是否保存最终的可执行程序. 1.2PHP定界符       因为PHP是脚本语言,所以需要定界符 <?php e ...

  3. Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的特点

    1.不变性 新的日期/时间API中,所有的类都是不可变的,这对多线程环境有好处. 比如:LocalDateTime 2.关注点分离 新的API将人可读的日期时间和机器时间(unix timestamp ...

  4. RPA之AA

    RoboticProcessAutomation(即机器人流程自动化),RPA机器人能够模仿大多数人类用户的行为, 比如可以登录应用程序,移动文件和文件夹,复制和粘贴数据,填写表单,从文档中提取结构化 ...

  5. ble蓝牙扫描几种方式

    有空再更新内容 方式一BluetoothAdapter层扫描回调 在高版本api已过时 方式二BluetoothLeScanner层扫描回调 android>= 5.0之后的版本推荐使用 方式三 ...

  6. 『009』Python

    『004』索引-Language Python 准备更新中

  7. AtCoder - 2286 (数论——唯一分解定理)

    题意 求n!的因子数%1e9+7. 思路 由唯一分解定理,一个数可以拆成素数幂之积,即2^a * 3^b *……,n!=2*3*……*n,所以计算每个素因子在这些数中出现的总次数(直接对2~n素因子分 ...

  8. GoogLeNet结构

    Inception v1 论文:<Going deeper with convolutions> 在较低的层(靠近输入的层)中,相关单元更侧重提取局部区域的信息.因此使用1x1的特征可以保 ...

  9. 4. jenkins 构建任务

    这边说一下 ,服务器的分布.  因为我这边 测试环境的项目比较多,不能修改主机名 1号机器 节点机器(node) 最终项目发布到这台机器 2号机器  jenkins jenkins的部署,发布 3号机 ...

  10. 【矩阵快速幂】之奥运 hdu 2254

    1.城市的编号不是从0到n-1,而是随便的一个数字,需要离散化否则不能存相关信息 2.城市数不超过30,也就是说我的方法开矩阵不超过60,但是我残念的一开始以为最多可能有20000个不同城市    血 ...