导航:首页 > 编程语言 > php71memcached

php71memcached

发布时间:2022-05-16 06:41:43

‘壹’ php 怎么配置memcached

分为linux和windows系统下:

windows下:

1、首先下载memcache的windows版本,将下载下来的文件解压出来后会看见一个名为memcached.exe的可执行程序

2、将该文件放到指定目录,如D盘

3、安装:

开始->运行->cmd打开命令窗口

进入D盘:cd d:

安装memcache服务:

在命令窗口输入:

memacahed.exe -d install

等待命令执行完成后,就可以在服务列表中看到memcached服务

4、启动memcache服务:

memcached.exe -d start

5、可以通过以下命令来查看memcache服务是否启动成功:

wmic process get description, executablepath | findstr memcached.exe

可以将memcached.exe的路径放入到系统环境变量中,方便使用。

查看memcache运行状态:

在命令窗口输入:

telnet 127.0.0.1 11211

链接到memcache上,输入stats就可以查看到当前memcache的状态了;

linux下:

1.下载memcache源码

http://www.memcached.org/

2.解压并进入目录

./configure --prefix=/usr/local/memcache
make
make test
sudo make install

3.启动memcache

memcache -d start -u root

验证memcache是否正确安装并启动

netstat -tap | grep memcached

4.安装memcache扩展库

下载memcache扩展

进入到memcache扩展文件

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install

修改php.ini文件 增加

extension=memcache.so

安装memcached扩展库

下载memcached扩展

memcached扩展需要libMemcached库的支持,所有在安装memcached扩展库之前要确认系统已经安装了libmemcached

安装libmemcached

./configure --prefix=/usr/local/memcache
make
make install

libmemcached安装完成后,就可以安装memcached扩展库

./configure --with-libmemcached-dir=/usr/local/memcached/ --with-php-config=/usr/local/php/bin/php-config
make
make install

同样修改php.ini配置文件,增加

extension=memcached.so

‘贰’ php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

一 下载需要的源码包
所有安装包均选用最新的。
1. 下载libevent2.0.22
点击红色部分下载
下载memcached1.4.24
点击红色部分,下载最新版本
下载php扩展memcache3.0.8
选择需要的版本
二 安装详细步骤
首先将以上三个软件包下载到/tmp目录下
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装
1
测试是否安装成功
看到这些信息,表示成功啦
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装
1
测试是否安装成功
表示成功的信息
通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展
cd /tmp #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装
1
完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息
看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib
下载zlib-1.2.8.tar.gz
下载地址:http://www.zlib.net/
如图:
红色部分点击
cd /tmp #首先进入到该下载包的目录
tar zxvf zlib-1.2.8.tar.gz #解压包
cd zlib-1.2.8 #进入到解压的目录
./configure --prefix=/usr/local/zlib
make; make install #编译+安装
1
再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。
OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令如果看到以下信息,表示成功:
扩展安装成功
三 配置php.ini文件
首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:
修改extension_dir路径:
extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:
信息
四 配置memcached服务器
启动memcached服务器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行
kill cat /tmp/memcached.pid
3. 检查memcached是否已经启动
看到绿色框中内容,就表示完成
五 测试php的memcache扩展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

‘叁’ 在php中memcached和利用文件缓存哪个效率更好

看情况,如果不是很大就用memcahed 如果大了的话,就是文件缓存好些!

‘肆’ 如何让php环境支持memcache

你是windows 还是linux ,如果linux需要在下载一个libevent插件去支持memcahe.我估计你是windwos.如果有需要Linux 再联系我,下面我说下Windows的安装方法:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

‘伍’ 为什么不要用php memcache而要用php memcached客户端

先从最本质上的区别,memcache是通过接口方式连接memcache(服务)提供的接口;memcached是通过系统的libmemcached库提供的api与memcached服务端进行交互,更底层,功能更多,速度更快。而且,memcache是早期的扩展,memcached相对较新,更稳定,功能更多。

‘陆’ php怎么开启memcache

下载memcache安装包和php扩展文件php_memcache.dll。解压memcache,把memcached移动到C盘。

单击开始菜单,运行“cmd”。
cd .. //进入c盘
cd memcached //进入memcache目录
memcache.exe -d install //安装memcache服务

设置php:找到php安装目录,打开php.ini文件。找到配置文件里允许支持扩展的区域exetension=。。,添加一行exetension=php_memcache.dll。

把php扩展文件php_memcache.dll移动到php安装目录下的ext目录下。注意在php.ini中要设置好exetension目录。php_memcache.dll此文件需要先在网上下载下来!

设置apache:
打开apache配置文件httpd.conf,找到LoadMole加载模块区域。去掉前面的“LoadMole mem_cache_mole moles/mod_mem_cache.so”#号

重启apache服务。linux下重启使用命令:service httpd restart。

然后就大功告成!

‘柒’ linux php7 安装 memcached 改哪个配置文件

1、php7安装Memcached扩展
比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcached 就还没有,不过好在,它已经支持了 PHP 7 ,只是没有源而已,我们手动编译它。
要安装 memcached,需要先安装依赖库 libmemcached
从 这里 找到最新的 libmemcached 源码包,然后下载。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make && make install
安装好依赖库之后,我们来安装 memcached :
从 github 克隆 memcached 后,需要手动切换到 php7 分支,不然会提示 fatal error : ext / standard / php_smart_str . h : No such file or directory 错误。
git clone https://github.com/php-memcached-dev/php-memcached

‘捌’ 使用php Memcache模块如何正确遍历所有KEY以及VALUE

在php提供的用于与memcached交互的扩展模块中有memcached与memcache,前者提供方法getAllKeys用于遍历所有Memcached服务器上的key,但是并不保证原子操作,而后者却没有提供任何方法,虽然在PHP官方
文档中有人给出使用方法getExtendedStats来间接获取Memcached服务器上的所有key,但是给出的代码是有不少坑的,如果拿来就用,对于cluster的memcached服务器而言,有些问题就需要指出来。
下面将给出官方文档中的代码,并指出可能面临的问题,代码如下:
<?php
/**
*Functiontogetallmemcachekeys
*@authorManishPatel
*@Created:28-May-2010
*/
functiongetMemcacheKeys(){

$memcache=newMemcache;
$memcache->connect('127.0.0.1',11211)ordie("");

$list=array();
$allSlabs=$memcache->getExtendedStats('slabs');
$items=$memcache->getExtendedStats('items');
foreach($allSlabsas$server=>$slabs){
foreach($slabsAS$slabId=>$slabMeta){
$cmp=$memcache->getExtendedStats('cachemp',(int)$slabId);
foreach($cmpAS$keys=>$arrVal){
foreach($arrValAS$k=>$v){
echo$k."<br>";
}
}
}
}//EOgetMemcacheKeys()?>
在上述代码中,如果用于获取单个memcached服务器上的key,是不存在任何问题,但是获取连接池中的多个memcached所有key就存在问题,会发现打印出重复的key,问题就在于当使用getExtendedStats用去特定$slabID
上的信息时,返回的是连接池中所有的服务器上的特定$slabId的存储的keys信息。当$server为"127.0.0.1:11214"且$slabId为0将变量$cmp的信息打印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}
当$server为"127.0.0.1:11216"且$slabId为0将变量$cmp的信息打印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}

‘玖’ php 一个网站需要用memcached!主要缓存什么内容 那些该缓存 应该注意什么

这个东西最大的好处是可以存储对象,减少很多数据库和服务器压力。直接基于内存的存储,调用速度非常给力。
主要缓存的内容,大概可以归纳为 1.不需要即时显示的内容,或者mysql查询耗时的内容。举例说明:网站的列表【最火的 排行榜】等非及时的,最新的如果强调及时性,可不用,当然也可以使用,可能更新缓存频率较高。
2.非常需要速度和性能的地方
有些页面通过mysql可能联合查询,全表检索查询速度相当慢,这时候可用缓存暂时保留 例如搜索引擎的结果集。

3.临时数据保存
我们知道mysql Oracle等关系型数据库,需要建立表结构才能存储,这就决定了,有些临时数据的存储,也需要建立特定的表结构。这样就比较啰嗦,不便于维护。
4.存储对象
这个也是一个比较有特色的地方,php创建对象的效率是不高的,甚至堪称低效,再加上构造函数大量的数据库操作的话,会让性能低到谷底,那么它能帮你吧已经创建好的对象 保存起来 下次相同的请求 无需new只需要将它还原。
综上,缓存是php的利器,速度 效率 等词汇都可以通过它去体现

‘拾’ php中memcached怎么存多维数组

PHP的Memcached的驱动会自动进行serialize和unserialize,你所需要做的是:
1. 选取一个合适key,比如 "POST_OF_USER_" . $userId
2. 调用set函数把数据丢进去就行了
示例代码:
全选复制放进笔记// 0. 准备:
$cache = new Memcache();
$cache->connect('127.0.0.1', 11211); // 请替换为你的memcache服务器地址和端口
$userId = // 你自己想办法获取...

// 1. 构造cache KEY
$cacheKey = "POSTS_OF_USER_" . $userId;

// 2. 从缓存中获取数据
$posts = $cache->get($cacheKey);
if ($posts === false){
// 3. 缓存失效了,加载数据
$posts = // 你自己想办法加载数据

// 4. 保存数据到缓存中
$cache->set($cacheKey, $posts);
}

// OK,可以使用posts了

阅读全文

与php71memcached相关的资料

热点内容
怎么用返利app返利 浏览:125
java代码快速 浏览:239
单片机左移右移后是补1还是0 浏览:595
湛江一号命令 浏览:333
导出命令行 浏览:274
C和php交互 浏览:600
苹果手机里的通讯录如何导入安卓手机 浏览:170
怎么在京东app里面看自己会员等级 浏览:43
emerson服务器怎么短接启动 浏览:559
工控编程人员工资 浏览:397
速成意大利语pdf 浏览:250
连续加减乘除法的算法 浏览:653
用mfc编程实现dda算法 浏览:43
linux命令打开应用 浏览:147
改造后的程序员 浏览:270
数控编程变量 浏览:785
江门哪里有plc编程系统 浏览:379
安卓手机如何下载外服b站 浏览:702
pythonetree库 浏览:761
数据插值算法 浏览:725