在Mac OS的PHP环境下安装配置MemCache的全过程解析_php实例

安装服务端
memcache是项目名,而在服务端的驻留进程叫memcached(linux的守护进程一般都是在后面加个d)。在OSX下使用brew可以快速安装memcache:

$ sudo brew install memcached

memcache的依赖:openssl和libevent会自动下载并安装。

安装完成后,使用如下命令启动:

$ sudo memcached -m 32 -p 11211 -d

安装php扩展
使用php操作memcache前,需要安装php的扩展,php的扩展有两个可以选择memcache和memcached,这里就安装比较经典的前者。从这里选择一个版本下载源码压缩包,解压,进入到源码目录后执行:

$ sudo phpize

phpize是帮助用来在已编译好的php外,编译php扩展用的脚本,用来生成configure、make等文件。有时执行这个命令会报错:

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

缺少依赖,那就安装咯,还是使用brew:

$ sudo brew install autoconf
phpize完成后,依次实行如下命令实现编译和安装:

$ sudo ./configure
$ sudo make
$ sudo make install

编译好的memcache.so一般被安装到如下目录:

Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-xxxxxx/

这样就可以在php.ini中配置这个扩展了:

extension=/usr/lib/php/extensions/no-debug-non-zts-xxxxxx/memcache.so

打开phpinfo()页面,查看memcache是否已经加载成功:

设置yii
这样其实已经可以在php中直接使用memcache了,这里就不累述了,如果在yii中使用,则需要添加一个组件:

'components'=>array(

  'cache'=>array(
    'class'=>'CMemCache',
    'servers'=>array(
      array(
        'host'=>'127.0.0.1',
        'port'=>11211
      )
    ),
  ),
...

关于更多的yii配置请参阅其文档。最后,在yii中使用memcache:

Yii::app()->cache->set('key1','value1');
Yii::app()->cache->get('key1');

memcached使用示例
将纯粹使用数据库查询的代码加上memcached支持是很简单的,假设这是原来的代码:

function get_foo (int userid) {
  result = db_select("SELECT * FROM users WHERE userid = ?", userid);
  return result;
}

加上memcached的缓存机制后:

function get_foo (int userid) {
  result = memcached_fetch("userrow:" + userid);
  if (!result) {
    result = db_select("SELECT * FROM users WHERE userid = ?", userid);
    memcached_add("userrow:" + userid, result);
  }
  return result;
}

上述的程序会先到memcached检查是否有userrow:userid的数据,如果有则直接传回结果,如果不存在时再去数据库查询,并将结果放到memcached内。

在memcached内已经有缓存信息时将数据库的数据更新后,上述的程序会抓到旧的数据,这是属于Cache coherency的问题。其中一种解决的方法是在更新数据库时,同时更新memcached内的信息:

function update_foo(int userid, string dbUpdateString) {
  result = db_execute(dbUpdateString);
  if (result) {
    data = createUserDataFromDBString(dbUpdateString);
    memcached_set("userrow:"+userid, data);
  }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, mac
memcache
php memcache实例、memcache 实例、spring memcache 实例、memcache 应用实例、mac os 安装memcache,以便于您获取更多的相关知识。

时间: 2025-01-31 01:46:00

在Mac OS的PHP环境下安装配置MemCache的全过程解析_php实例的相关文章

ubuntu14.04环境下安装配置caffe,最后编译caffe时出错

问题描述 ubuntu14.04环境下安装配置caffe,最后编译caffe时出错 我按照http://www.linuxdiyf.com/linux/13008.html 这篇博客配置caffe,前面都没有问题, 但是到这一步之后, 出现了问题,问题如下 ![, 提示的是这个 make: *** [.build_release/src/caffe/layer_factory.o] 错误 1 make: *** 正在等待未完成的任务.... 我本人不太懂,请问怎么处理啊,急.. 谢谢各位 解决方

CentOS 6.4单机环境下安装配置Storm

Storm是一个分布式的.高容错的实时计算系统,在实时性要求比较强的应用场景下,可以用它来处理海量数据.我们尝试着搭建Storm平台,来实现实时计算.下面,我们在CentOS 6.4上安装配置Storm系统. 安装配置 安装配置过程,按照如下步骤进行: 1.安装配置sunjdk 下载sunjdk,并安装Java运行环境: 1 wget http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin 2 chmod +

windows7下安装php的php-ssh2扩展教程_php实例

因为想做一个往测试服务器传文件的需求,看到PHP支持ssh操作,所以整理了下安装过程,与大家分享下. 安装步骤 1. 下载 php extension ssh2 下载地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 根据自己PHP的版本去下载,我使用的是线程安全的,所以下载的是php_ssh2-0.12-5.4-ts-vc9-x86.zip 2. 解压完后,会有三个文件,libssh2.dll.php_ssh.dll.php

IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年_php实例

便于大家转载和离线阅读,本教程的HTML源码.UBB源码.PDF版本.Flash版本提供下载.下载地址:http://code.google.com/p/wpmi/downloads/list 操作系统:Windows.Server.2003.R2,Enterprise.Edition,SP2,x86,CHS,VOL,MSDN本次配置PHP的服务器环境:Windows2003+ IIS6+PHP5+MySQL3+Zend+phpMyAdmin整个配置过程需要是使用拥有管理员权限的系统帐号登录Wi

WAMP环境下安装配置PHP Curl方法详解

  1, 复制PHP目录下的libeay32.dll, ssleay32.dll两个文件至WINDOWS/SYSTEM32目录下; 2,修改PHP.INI文件中的extension=php_curl.dll, 去掉前面的注释(即把冒号去掉); 3,重启wamp服务.

windows环境下php配置memcache的具体操作步骤_php技巧

首先要安装好php和apache环境.我用的是wamp整合的套件php 5.2.8apache 2.2.1.1这些都准备好了后,就到 memcache 官网去下载 windows 下的 memcache.exe 这个程序 然后把他放在 c:\memcache 目录下打开 cmd 命令 输入cd c:\memcache 安装memcache.exe -p install 安装完成后memcache.exe -p start 成功开启 memcache后 就到 php/ext 目录下 把 php_m

基于ubuntu下nginx+php+mysql安装配置的具体操作步骤_php实例

1.更新 1 sudo apt-get update 2.安装nginx 1 sudo apt-get intsall nginx  Ubuntu安装之后的文件结构大致为:* 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下*程序文件在/usr/sbin/nginx * 日志放在了/var/log/nginx中*并已经在/etc/init.d/下创建了启动脚本nginx* 默认的虚拟主机的目录设置在了/var/www/n

php下安装配置fckeditor编辑器的方法_php技巧

一.PHP调用fckeditor方法. 二.JS调用fckeditor方法. 复制代码 代码如下: <?php require_once(PATH_PRE."fckeditor.php"); // 包含fckeditor类, $oFCKeditor = new FCKeditor('content') ; //创建一个fckeditor对象,表单的名称为content $oFCKeditor->BasePath="../fckeditor/"; //编辑

XAMPP安装与使用方法详细解析_php实例

XAMPP 是一个把Apache网页服务器与PHP.Perl及MySQL集合在一起的安装包,允许用户可以在自己的电脑上轻易的建立网页服务器.使用 XAMPP 您可以轻松的在本机调试您的 PHP 程序.CMS以及 wordpress 博客程序.本文主要分享一下 XAMPP 的使用教程. XAMPP 使用方法1.下载 XAMPP 首先下载 XAMPP ,您可以在本页面下方提供的链接直接点入官方网站下载. 2.安装 XAMPP 我使用的是 XAMPP 的 Windows 版的安装包,下载后直接安装即可