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:memcachedmemcached.exe -d install。(执行后没有成功和错误信息)


(4)启动和关闭 memcached 服务:

  c:memcachedmemcached.exe -d start  (执行后没有成功和错误信息,表示成功)
  c:memcachedmemcached.exe -d stop   (执行后没有成功和错误信息,表示成功)


(5)如果要修改 memcached 的配置项:

可以在命令行中执行 regedit.exe 命令打开注册表,

找到 "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmemcached" 来进行修改。

windows7 下安装使用memcached
Memcached 安装使用

如果要提供 memcached 使用的缓存配置,可以修改 ImagePath 为:
"c:memcachedmemcached.exe" -d runservice -m 512

-m 512 意思是设置 memcached 最大的缓存配置为512M。

执行该命令时,弹出了Windows安全警报,提示是否允许memcache.exe网络通讯,点击【允许访问】。

(执行后没有成功和错误信息,表示成功)

此外我们还可以通过使用 "c:memcachedmemcached.exe -h" 命令查看更多的参数配置。

windows7 下安装使用memcached
Memcached 安装使用


(5)、如果我们需要卸载 memcached ,可以使用以下命令:

c:memcachedmemcached.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放到 wampinphpphp7.1.17ext下,重启apache,再次运行phpinfo(),搜索memcache:

windows7 下安装使用memcached
Memcached 安装使用

安装成功。


(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,暂时没有搜索到解决方法。