四、php操作memcached
4.1、安装扩展
4.1.1、linux下安装扩展
PHP Memcache 扩展包下载地址:http://pecl.php.net/package-search.php?pkg_name=memcache,你可以下载最新稳定包(stable)。
代码语言:javascript复制# 安装依赖 安装安装安装
yum install -y libmemcached.x86_64 libmemcached-devel.x86_64
# 安装memcached扩展
wget http://pecl.php.net/get/memcached-3.1.3.tgz
tar zxvf memcached-3.1.3.tgz
cd memcached-3.1.3
phpize 命令 (在扩展文件所解压目录中去执行)
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
配置php.ini
extension = memcached.so
注:windows中的扩展后缀名叫.dll linux中的扩展的后缀名为.so
安装依赖
下载linux下PHP的memcached扩展,下载最新稳定版本
解压下载后的扩展源码
进入,生成configure检查文件注:phpize命令是需要在yum安装php时一定要安装 php版本-dev
环境检查和配置
代码语言:javascript复制./configure --with-php-config=/usr/bin/php-config
编译安装memcached的扩展
编译安装成功后,查看是否有.so文件,如要有则表示,扩展安装成功。
修改php.ini文件,使用memcached扩展生效
代码语言:javascript复制vi /etc/php.ini
在命令行中查看是否有memcached扩展
如果是php apache就需要重启apache服务就可以让其扩展生效。 如果是nginx php-fpm就需要重启php-fpm让期扩展生效。
4.1.2、windows下安装扩展
下载地址:https://github.com/nono303/PHP7-memcache-dll 在windows下面,只能使用php对应的memcache扩展,但是官方提供的扩展只到php5.6,php7.0已经在官方下载不到了。
没有php7.x以上的memcache扩展,解决在github中找一找,找到对应的windows扩展,下载对应phpinfo()函数,显示一致的扩展文件。
下载对应的文件到本机PHP目录中
修改php.ini文件,让其生效,生效还要重启apache或 php-fpm
4.2、图形工具管理memcached
memcached在PHP有一个开源的管理web工具,memadmin 网址:http://www.junopen.com/memadmin/
下载对应源码包,解压到web目录,虚拟主机对应的目录中。
注:memadmin需要php对应memcache扩展的支持。 设置默认的账号和密码,建议生产要修改的复杂一些
通过web来访问
添加一个memcached服务管理
4.3、连接memcache
文档:http://www.php.net/memcache
4.4、php操作memcache
使用php提供检查扩展是否存在的函数来进行判断,调用对应的扩展用支持api.
4.5、集群
在服务器端开调4个memched服务对应的端口号为11211到11214。
修改php.ini让其支持一致性hash的集群算法
代码语言:javascript复制[Memcache]
; 一致性hash
memcache.hash_strategy=consistent
配置完毕后,重启web服务或php-fpm服务 PHP连接多台服务器
4.6、session写入到memcached
自定义session存储介质,默认session写入到服务器文件中。 使用php提供函数来修改
代码语言:javascript复制# 设置用户自定义会话存储函数
session_set_save_handler
open 类似于类的构造函数, 在会话打开的时候会被调用
close 类似于类的析构函数
read 获取
write 写入
destroy 请空
gc 回收,php自动完成 默认回收时间为24分钟 == 1440秒
调用