php使用memcache或memcached
前言
memcache和memcached就差一个字母,初次使用的时候很容易搞不清楚这些玩意都哪跟哪。memcached是一种数据库服务,就跟redis mongodb一样的服务,使用这个数据库的话需要一些客户端来操作它里面的数据,php提供啦两个扩展来使用memcached数据库,名字为memcache和memcached。问题就出现在这里啦
memcache版本是5.6以及以下可以使用,目前memcache已经停止维护啦php7.x没有对应的库,凡事都有但是哈哈,github上有人编译出来7.x可用的版本。memcached是php中操作memcached的另一个扩展出来的比memcache晚点并不多支持php全部版本,新东西嘛功能上肯定是有新意的,并且性能等其它方面也会有点变化,到底哪个好咱也没用过。但是但是这东西windows上用不了只能linux上用所以windows下还是乖乖的用memcache吧
安装memcached扩展和服务器
安装memcached服务器
请根据自己的系统和php版本下载对应的 memcached 版本,安装方法请参考 http://www.runoob.com/memcached/window-install-memcached.html 示例里面是安装为计划任务来执行的,如果只想测试下的话可以用下面脚本来启动和停止,注意修改里面的路径
@echo off set curpath="D:/GreenSoft/memcached/memcached.exe" taskkill /f /im memcached.exe %curpath% -d start telnet localhost 11211 ::sc create "Memcached" binPath= "%curpath% -d runservice -p 11211" DisplayName= "Memcached" start= auto pause
启动后如果没有报错直接连的话,说明成功
php扩展
官方memcache最高支持到php5.6版本,请注意,php7.1, 7.2, 7.3 github上有人编译出来对应的版本可以直接下载使用
php7.x https://github.com/nono303/PHP7-memcache-dll
php5.6及以下 https://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
下载前请使用phpinfo查看自己的php支持哪个版本再下载对应的版本
下载对应的版本
开启php的memcached扩展然后使用代码测试是否可用
$memcache->connect("127.0.0.1", 11211); echo "Memcached's version: " . $memcache->getVersion() . "<br />"; $data = array( 'url' => "http://www.zhaokeli.com", 'name' => "缓存数据", ); $memcache->set("info", $data, 0, 10); $info = $memcache->get("info"); echo '<pre>'; print_r($info);
注意memcached的版本,否则会出现下面的错误
下面是成功后显示的内容