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. 基于 EntityFramework 生成 Repository 模式代码

    借助 WeihanLi.EntityFramework 实现简单的 Repository Intro 很多时候一些简单的业务都是简单的增删改查,动态生成一些代码完成基本的增删改查,而这些增删改查代码大 ...

  2. java.lang.ClassNotFoundException: XXX (no security manager: RMI class loader disabled)

    在搞RMI远程发布,consumer去获取rmi远程服务的代理对象的时候出现了如下的错误 问题发现: 由于我发布的对象的包路径和获取的对象的包路径不一致,导致了这样的问题 解决方案: 包路径改为一致就 ...

  3. 死磕 java同步系列之AQS终篇(面试)

    问题 (1)AQS的定位? (2)AQS的重要组成部分? (3)AQS运用的设计模式? (4)AQS的总体流程? 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为 ...

  4. PI对于两个SAP客户端通道的了解

    你把你的报文放到ESR的MM里面试一下就知道了 日期格式之类的,可能有转换的你要输入2019-05-13这种 OA到PI不选,都是到一个系统,由PI再来分流 如果你要做成由OA来选的,就要参考类似于  ...

  5. CAD制图初学入门教程:怎么在CAD中绘制箭头

    在接触CAD的时候大家有没有和小编一样感觉无所适从,所以下面就来和大家分享一个CAD制图初学入门教程,在CAD中绘制箭头.在CAD图形上进行标注内容的时候一般都会使用箭头来进行指示,那具体怎么在CAD ...

  6. python web框架Django入门

    Django 简介 背景及介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以 ...

  7. sharepointOnline的外接应用创建

    #CODE STARTS HERE $programFiles = [environment]::getfolderpath("programfiles") add-type -P ...

  8. Unity Pixel 人物设计(1)

    草稿: 目前进度:

  9. js延时定时器

    // 获取图片方向延时器 getImageOrientationTimer(context) { if (context.imageTimeout) return; if (context.image ...

  10. Java 日期处理类

    日期处理类 Date类 当前日期时间 java.util.Date import java.util.Date; public class TestDemo { public static void ...