详细解读Php与memcached交互原理及安装配置方法

Php代码与memcached交互的原理,和与mysql交互的原理相同,要安装一个服务器端的memcached,现有的交互处理过程已被封装成一个php扩展,需在php.ini中把这个扩展添加进去。

详细解读Php与memcached交互原理及安装配置方法

Php memcached官方手册地址:

一:下载地址:

php扩展库pecl下载地址:

二:安装与配置:

下载之后进行解压,接着将其放置到C盘根目录下。双击memcached.exe便可启动memcached服务,此时,打开任务管理器,若进程里出现memcached.exe,那就表明memcached服务已启动,并且要让cmd窗口保持开启状态,如此才算启动了memcached服务。

安装方法二:

1.下载Windows版的memache的压缩包

2.解压到合适的位置如:D:memached目录下面。

进入命令行,切换到该目录下面,使用dir查看目录下面的文件信息。

输入memached.exe,通过-d install的操作来安装服务器。

输入memached.exe -d start来启动服务器,等到下次启动系统时,此服务会自动启动,其默认的端口号为11211。

配置:

下载pecl模块包(地址如上),解压该模块包,将php_memache.dll放置到php目录的ext子目录下,为能正常使用,最好下载与php版本一致的模块包。

在php.ini文件里,进行'extension=php_memcache.dll'的导入操作。

接着重启apache,应该就没问题了,能够在phpinfo.php里查看是否存在memcached模块,当然,我们能够编写一个来试验一下。

$memcache_obj=newMemcache;

将$memcache_obj与'localhost'进行连接,连接端口为11211;

将变量“var_key”的值设置为“This is a memcached test!”,采用MEMCACHE_COMPRESSED压缩方式,缓存时间为50秒 。

输出$memcache对象获取的'var_key'的值。

备注:

1)memcached的几个指令:

-p监听的端口

-l连接的IP地址,默认是本机

-d start启动memcached服务

-d restart重起memcached服务

关闭正在运行的memcached服务,执行stop命令,或者执行shutdown命令 。

-d install安装memcached服务

-d uninstall卸载memcached服务

-u以的身份运行 (仅在以root运行的时候有效)

-m最大内存使用,单位MB。默认64MB

-M内存耗尽时返回错误,而不是删除项

-c最大同时连接数,默认是1024

-f块大小增长因子,默认是1.25

-n最小分配空间,key+value+flags默认是48

-h显示帮助

2)memcached相关的函数:

Memcache::add用于添加一个值,若该值已存在,那么返回false 。

Memcache::addServer,这一操作是用于添加一个服务器地址,该地址可供后续使用。

关闭一个Memcache对象,此操作由Memcache::close完成

Memcache::connect,它的作用是创建一个Memcache对象。

05.memcache_debug —控制调试功能

Memcache::decrement,该操作针对保存的某个key中的值,进行减法运算 。

07.Memcache::delete —删除一个key值

08.Memcache::flush —清除所有缓存的数据

09.Memcache::get —获取一个key值

Memcache::getExtendedStats,用于获取进程池中所有进程的运行系统统计。

获取运行服务器的参数,可使用Memcache::getServerStatus

Memcache::getStats,该函数用于返回服务器的一些运行统计信息。

Memcache::getVersion,这个函数用于返回运行的Memcache的版本信息

Memcache::increment,它会对保存的某个key中的值,执行加法操作。

Memcache::pconnect,用于创建一个Memcache的持久连接对象

Memcache::replace,这是一种操作,它会对一个已经存在的key执行覆写动作 。

Memcache::set,添加一个值,若该值已存在,便进行覆写。

Memcache::setCompressThreshold,针对大于某一大小的数据,进行压缩。

Memcache::setServerParams,用于在运行时对服务器的参数进行修改。

zend framework的cache后端对memcached提供支持,我们能够去尝试一下

将数组$front定义为,其中包含键值对'lifeTime',其值为100,以及键值对'automatic_serialization',其值为true 。

后端server是个二维数组,每一维代表一个连接,其中,$back被赋值为一个数组,该数组包含一个键为'server'的元素,其值也是一个数组,这个内部数组包含一个元素,该元素是一个数组,此数组有三个键值对,分别是'host'的值为'127.0.0.1','port'的值为11211,'persistent'的值为true,同时还有一个键为'compression'的值为true 。

$cache由Zend_Cache通过factory方法创建,其第一个参数为Core,第二个参数为Memcached,第三个参数为$front,第四个参数为$back;

将“This is zend memcached”保存到缓存中,缓存键为“zend” 。

echo $cache->load('zend')."

";

目前,zend framework的代码,自己尚未进行详细研究,待日后自己在学习进程中,能够尝试使用一番;

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

54阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

45阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

48阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

43阅读