PHP 链接 Memcache 安装与概念理解

2014/11/16 | 星期日 分类:PHP | 2 条评论 标签: | 作者: | 2,311 views

办公上,Linux 服务器 与 Windows7 x64在xampp 之前安装过最新版本php5.6;所以建议都安装最新稳定版本。

但由于家里机器与系统是老的,亦懒得把数据库切换新的xampp,目前使用的是PHP5.3.1 版本,故扩展需要对应php_memcache.dll版本,否则xampp启动不来,安装过程记录如下:.

一、安装memcache的php扩展(用于连接管理memcached)

1. php_memcache.dll 下载:对应的版本php5.3.1
下载地址:php_memcache.zip 官方下载地址: http://pecl.php.net/package/memcache
对于PHP5.3以下的版本,请自行搜索下载,官方地址不提供了。

2. 把php_memcache.dll放到php的ext目录:
例如:D:\xampp\php\ext\php_memcache.dll

3. 打开 php.ini 文件:.
我的php.ini的位置:D:\xampp\php\php.ini

4. 在 php.ini上增加一行:
extension=php_memcache.dll

5. 重启xampp的apache服务,不报错,则版本合适;否则请重新下php_memcache.dll文件;

6.打开phpinfo 运行,搜索memcache 看到如下截图:

php_memcache
即PHP memcache 扩展安装成功。

二、安装memcached

1. Memcached-win64 下载:

a. 下载最新版:memcached 自行搜索下载;

2. 解压放某个盘下面,比如:

D:\Program Files\memcached\memcached.exe

3. 在终端(也即cmd命令界面)下输入以下命令安装windows服务:

D:\Program Files\memcached>memcached.exe -d install

4. 再输入下面命令启动:seedpaddy.com

D:\Program Files\memcached>memcached.exe -d start

这里参数有很多,这里就不介绍了,有兴趣的可以自己去查一下

NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。.

————— memcache 和 memcached —————

一会 memcache 和 一会 memcached 混淆不清,曾今在脑后中概念模糊,趁这文聊聊:memcache和memcached的区别。

  1. Example : 在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?
  2. 其实很简单,memcache 是 php 的一个扩展,用于 php 管理 memcached,php-memcache.dll。
  3. 如果安装了 memcached 不安装扩展,那么 php 无法操控 memcached,但是命令行使用起来没有问题;
  4. 如果安装了 memcache扩展 但是没有安装 memcached 服务,那么这个就无法使用;
  5. 只有同时安装了 memcached服务 和 memcache扩展 才可以在PHP中使用 memcached 提高动态网站性能

————— 测试PHP 链接 memcached —————

测试代码如下,打印输出已注释,在高亮代码中显示有bug

你可以看到如下结果

至此,本文结束,下篇:介绍PHP 链接 Memcached 集群封装类库,有内涵哦!

分布式缓存与Memcached相关问题

2013/03/26 | 星期二 分类:资源 | 没有评论 标签: , | 作者: | 1,320 views

分布式缓存从几方面说明:1.缓存本身的水平线性扩展问题,2.缓存大并发下的本身的性能问题,3.避免缓存的单点故障问题(多副本和副本一致性)。

分布式缓存的核心技术包括首先是内存本身的管理问题,包括了内存的分配,管理和回收机制。其次是分布式管理和分布式算法,其次是缓存键值管理和路由。

什么是Memcached?

  1. 许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web 应用的速度、提高扩展性。如图:

1 阅读全文