快速学习-php操作memcached

2022-11-30 10:44:54 浏览数 (1)

四、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秒

调用

0 人点赞