windows7 下安装使用memcached
Memcached 安装使用
本地环境:Windows7 64位
web环境:wamp集成环境,
php版本:PHP Version 7.1.17
学习参考网站:
RUNOOB.COM官网 http://www.runoob.com/memcached/window-install-memcached.html。
一个木头人的博客 https://www.cnblogs.com/aini521521/p/7765943.html#undefined
文档中介绍:
在 1.4.5 版本以前 memcached 可以作为一个服务安装,而在 1.4.5 及之后的版本删除了该功能,需要使用任务计划中来开启一个普通的进程。
所以本篇先实验1.4.4版本的memcached学习。
(1)下载memcaced,
(2)下载后解压到自己指定的目录。
(3)使用管理员权限运行以下命令安装服务:
c:\memcached\memcached.exe -d install。(执行后没有成功和错误信息)
(4)启动和关闭 memcached 服务:
c:\memcached\memcached.exe -d start (执行后没有成功和错误信息,表示成功)
c:\memcached\memcached.exe -d stop (执行后没有成功和错误信息,表示成功)
(5)如果要修改 memcached 的配置项:
可以在命令行中执行 regedit.exe 命令打开注册表,
找到 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached" 来进行修改。
如果要提供 memcached 使用的缓存配置,可以修改 ImagePath 为:
"c:\memcached\memcached.exe" -d runservice -m 512
-m 512 意思是设置 memcached 最大的缓存配置为512M。
执行该命令时,弹出了Windows安全警报,提示是否允许memcache.exe网络通讯,点击【允许访问】。
(执行后没有成功和错误信息,表示成功)
此外我们还可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。
(5)、如果我们需要卸载 memcached ,可以使用以下命令:
c:\memcached\memcached.exe -d uninstall
(执行后没有成功和错误信息,表示成功)
(6)通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务。
telnet 127.0.0.1 11211
进入后先按ctrl+]启动回示功能,否则无法看到输入信息。
在命令行执行 set foo 0 0 3 保存命令时,显示格式不对。无法继续按照文档进行memcached命令实验。
(7)安装memcache扩展
打开windows的php官网 :https://windows.php.net/。
找到windows扩展,即左侧的 PECL For Windows,点击 release ,
跳转到windows系统的php的扩展列表页面:https://windows.php.net/downloads/pecl/releases/。
找到memcache,点进去,跳转到 https://windows.php.net/downloads/pecl/releases/memcache/3.0.8/。
使用phpinfo()函数显示 Compiler MSVC14 (Visual C++ 2015)
列表中没有VC14,搜索其他地址。
根据一个木头人的博客,找到https://github.com/nono303/PHP7-memcache-dll/blob/master/vc14/x64/ts/php-7.1.x_memcache.dll。
下载后解压,把重命名为php_memcache.dll放到 wamp\bin\php\php7.1.17\ext下,重启apache,再次运行phpinfo(),搜索memcache:
安装成功。
(9)代码实验:
$memcache = new Memcache; //创建一个memcache对象 $memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器 $memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test $get_value = $memcache->get('key'); //从内存中取出key的值 echo $get_value; //结果输出test
echo $memcache->getVersion();//输出memcache版本 1.4.4-14-g9c660c0
输出正常,安装成功!
(10)thinkphp框架使用memcache
再配置文件中增加配置:
//数据缓存设置 'DATA_CACHE_TYPE' => 'Memcache', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator 'DATA_CACHE_TIME' => 3600, // 数据缓存有效期 0表示永久缓存 'DATA_CACHE_PREFIX' => 'hello_', // 缓存前缀 'MEMCACHE_HOST'=>'127.0.0.1', 'MEMCACHE_PORT'=>'11211', 'DATA_CACHE_TIMEOUT'=>'3600',
调用使用S方法:
S('study','学习'); $a = S('study'); echo $a;//学习
想尝试配置memcached,在配置文件中:
'DATA_CACHE_TYPE' => 'Memcached',
'MEMCACHED_SERVER' => ['127.0.0.1',11211,0]
控制器代码调用后显示 :)系统不支持:memcached,暂时没有搜索到解决方法。