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. SSM(七)在JavaWeb应用中使用Redis

    前言 先来看一张效果图: 作用就是在每次查询接口的时候首先判断Redis中是否有缓存,有的话就读取,没有就查询数据库并保存到Redis中,下次再查询的话就会直接从缓存中读取了.Redis中的结果:之后 ...

  2. python基础(12):函数(二)

    1. 函数参数 之前我们说过了传参,如果我们需要给⼀个函数传参,⽽参数⼜是不确定的,或者我给⼀个函数传很多参数,我的形参就要写很多,很⿇烦,怎么办呢,我们可以考虑使⽤动态参数. 形参的第三种: 动态参 ...

  3. java基础(26):Thread、线程创建、线程池

    1. 多线程 1.1 多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并 ...

  4. 猪肉涨价飞快?让我们用python来预测一下今年最后一个月的猪肉价格吧!

    今天我们将使用Facebook的“先知”模型来预测2019年12月广东省的猪肉价格,本实验仅供参考. 1.准备数据 在猪价系统网站上利用开发者工具获得过去一年广东省的猪肉价格保存为json格式:htt ...

  5. Javase之集合泛型

    集合泛型知识 泛型 是一种把类型明确工作推迟到创建对象或者调用方法的时候才明确的特殊类型. 也称参数化类型,把类型当成参数传递. 在jdk1.5中出现.一般来说经常在集合中使用. 格式 <数据类 ...

  6. iOS 高效的分页加载(TableView、CollectionView)

    一.tableview的分页加载的代码对比 没有优化之前的代码如下 [strongSelf.tableView.mj_footer endRefreshing]: [strongSelf.articl ...

  7. iOS多线程比较

    .iOS的三种多线程技术 .NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) .以下两点是苹果专门开发的“并发”技术,使得程序员可以不再去关心线程的具体使用问题 ØNS ...

  8. Python的4个内置数据结构

    Python提供了4个内置数据结构(内置指可以直接使用,无需先导入),可以保存任何对象集合,分别是列表.元组.字典和集合. 一.列表有序的可变对象集合. 1.列表的创建例子 list1 = []lis ...

  9. Linux(二)-- Linux配置及指令

    一.linux中常用软件的安装 yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix ...

  10. win7个性化不能换界面:此页面上的一个或多个设置已被系统管理员禁用,关机里的切换用户和锁定为灰色

    win7个性化不能换界面:此页面上的一个或多个设置已被系统管理员禁用,关机里的切换用户和锁定为灰色 找到注册表 cmd-regedit HKEY_CURRENT_USER\Software\Micro ...