所有的过程在MacOS的PHP环境配置memcache的解析

安装服务器端

这是项目的名称,和服务器端的实习过程叫做Memcached(的Linux守护进程一般是由D)。使用BREW OSX下可以快速安装memcache:


$ sudo BREW安装Memcached



Memcache的依赖:OpenSSL和libevent将自动下载并安装。

安装完成后,从以下命令开始:


$ sudo memcached M 32 P 11211 - D



安装PHP扩展

在使用PHP操作缓存,你需要安装PHP的扩展。PHP的扩展有两个选择memcache和memcached。在这里,我们安装了比较经典的一个。从这里,选择一个版本下载源码包,解压,进入源目录和执行。


$ sudo phpize



phpize是一个脚本,可以编译PHP扩展外部php编译生成文件等配置,使,等等。有时此订单的执行是错误的:


无法找到autoconf。请检查您的autoconf安装和
php_autoconf美元环境变量。然后,重新运行这个脚本。



缺乏依赖性,然后安装它,或者使用BREW:

$ sudo brew install autoconf

在phpize完毕,下面的命令来实现,反过来被编译和安装。


$ sudo。 /配置
$ sudo使
$ sudo make install



编译memcache.so一般安装在以下目录:


安装共享扩展: / usr / lib / / / no-debug-non-zts- PHP扩展xxxxxx /



这允许你在php.ini配置此扩展:


推广= / usr / lib / / / no-debug-non-zts- PHP扩展xxxxxx / memcache.so




打开phpinfo()页看看memcache已成功加载:





建立一

这样,你可以在PHP中直接使用缓存,你不厌倦它。如果你使用它,在Yii,你需要添加一个组件:


组件=数组(

缓存=数组(
类= > 'cmemcache,
服务器>数组(
(阵列
主机= > '127.0.0.1,
端口= 11211

),
),





更多的Yii的配置,请参阅文件。最后,在Yii使用memcache:


Yii::APP()->缓存->设置('key1 ','value1);
Yii::APP()->缓存->得到('key1);




Memcached使用例子

这是简单的添加缓存支持,使用简单的数据库查询代码,假设这是原代码:


功能get_foo(int userid){
结果:db_select(从users UserID =
返回结果;
}



增加缓存的缓存机制:


功能get_foo(int userid){
结果:memcached_fetch(userrow:+用户名);
如果(!结果){
结果:db_select(从users UserID =
memcached_add(userrow:+用户名,结果);
}
返回结果;
}



上述计划将首先检查数据的userrow Memcached:用户名。如果有,它将直接返回结果。如果它不存在,然后去数据库查询并将结果缓存。

当缓存已缓存信息,更新数据库中的数据,上述计划将赶上旧数据,具有高速缓存一致性的问题。解决的办法之一是在缓存更新信息,更新数据库。


功能update_foo(int userid,字符串dbupdatestring){
结果:db_execute(dbupdatestring);
如果(结果){
数据createuserdatafromdbstring(dbupdatestring);
memcached_set(userrow:+数据);
}
}