所有的过程在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:+数据);
}
}