php使用memcache或memcached

来源:赵克立博客 分类: PHP 标签:memcached发布时间:2018-12-18 11:00:18最后更新:2019-06-21 16:00:51浏览:1573
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2019-06-21 16:00:51
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

前言

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  

1906211561103101796665.zip

php5.6及以下  https://windows.php.net/downloads/pecl/releases/memcache/3.0.8/

下载前请使用phpinfo查看自己的php支持哪个版本再下载对应的版本

image.png

下载对应的版本

image.png

开启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的版本,否则会出现下面的错误

image.png

下面是成功后显示的内容 

image.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python