首页 > 编程语言 >完善php环境:mac中配置memcache超详细攻略(区分memcache系统中的概念)

完善php环境:mac中配置memcache超详细攻略(区分memcache系统中的概念)

时间:2022-12-16 17:33:21浏览次数:67  
标签:STAT memcached mac memcache php 安装 服务端


我想配置memcacahe系统?是不是我要先安装libmemcached?
哦!不对,你要先安装libevent!
它不是叫libmemcached吗?
php的扩展memcached才需要先安装libmemcached!
啊!php的拓展不是叫memcache吗?怎么会是memcached?
memcache是整个memcache系统!
呀!那他们说memcached是服务端的守护进程,不对吧。
没错,memcached就是memcache系统的守护进程。



以前被这些概念弄得有点迷糊,今天来理清一下。菜鸟心得,高手勿喷。

概念

首先:Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。Memcache在代表整个项目的时候,它包括了服务端(memcached)和客户端(memcache)。(其实就是给这个项目一个名字,这个名字刚好叫Memcache)

一、服务端——Memcached

Mecache整个项目的服务端是memcached,看见了,多了一个“d”字母,有没遇到过“mysqld”,”httpd”等,都是一样的,它们也是守护进程,通常是持久连接,长期候命。说通俗点,服务端其实就是一个强有力的篮子,你可以把东西放进来,跟DB一样,可以存数数据在DB,那么DB也是一个服务端,我们现在改为存数据到memcached里面而已。

OK!让我们一切从服务端开始,先安装mecached这个服务端:

有二种方式安装

(1)安装方式一:使用超强的Homebrew管理软件工具安装

​​$brew​​          ​​install memcached​​



用Homebrew工具安装,一个好处是不用那么麻烦,自己去找源码包,二个好处是很多依赖软件会自行搜索安装。

OK!在安装过程中会看见它会先安装一个Libevent的库!对memcached的基础条件是这个Libevent,所以必须先安装它!(好了,这里把Libevent和memcached概念都弄清楚了吧。)

(2)安装方式二:使用源码包安装:

1.去官网​​http://libevent.org/​​​ 下载最新源码,例如你可以使用 ​​libevent-2.0.20-stable.tar.gz​​(我用的时2.0.21。看见没,所以你用工具,它会自动帮你安装libevent依赖库,自己安装就要去找源码包了。)

2.解压到/usr/src目录 ,执行命令:sudo tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src

3.进入解压以后的目录,用sudo方式执行命令:

​​sudo ./configure --prefix=/usr/local/libevent ;​​        





​​make && make install​​



OK!我们现在测试一下服务端。

​​Engine:libevent app$ telnet localhost 11211​​        


​​Trying ::1...​​


​​telnet: connect to address ::1: Connection refused​​


​​Trying 127.0.0.1...​​


​​Connected to localhost.​​


​​Escape character is ​​ ​​'^]'​​ ​​.​​


​​stats​​


​​STAT pid 50​​


​​STAT uptime 23245​​


​​STAT time 1396500024​​


​​STAT version 1.4.5​​


​​STAT pointer_size 64​​


​​STAT rusage_user 0.270129​​


​​STAT rusage_system 0.818887​​


​​STAT curr_connections 5​​


​​STAT total_connections 9​​


​​STAT connection_structures 6​​



嗯,一切正常!

二、客户端——Memcache

Mecache整个项目的客户端也叫Memcache(名称只是一个代号,你可以叫memcache,他也可以叫memcache,我们都可以叫memcache),有了服务端篮子,那必须有个客户端放东西到篮子里,不然篮子有什么用呢?服务端安装了,客户端用什么语言都能搞,我这里用php做客户端。(你也可以用java,c,python,ruby。。。。)

请严重注意:php的拓展分为memcache和memcached(哎,名称只是一个代号),就是说这两种拓展都能使用,而memcached是基于libmemcached(也就是一个依赖库)。听说是说前一个是原生的,后一个比前一个功能更强大。比较推荐使用基于libmemcahced 库的memcached扩展。支持memcache提供的CAS操作,稳定性和效率也更好。

我这里安装memcached。

(1)、使用超强的Homebrew管理软件工具安装:

​​$ sudo brew install php53-memcached​​



安装日志:

​​==> Installing php53-memcached dependency: libmemcached​​        





​​==> Downloading https:​​ ​​//downloads.sf.net/project/machomebrew/Bottles/libmemcache​​





​​######################################################################## 100.0%​​





​​To finish installing memcached ​​ ​​for​​ ​​PHP 5.3:​​





​​* /usr/local/etc/php/5.3/conf.d/ext-memcached.ini was created,​​





​​do​​ ​​not forget to remove it upon extension removal.​​



ext-memcached.ini  文件中记录了自定义php拓展的位置。


​​vi ext-memcached.ini​​



我们看到:

[memcached]

extension=”/usr/local/Cellar/php53-memcached/2.1.0/memcached.so”

ok,我们现在去这个路径找到memcached.so扩展,将它cp到你自己的extension目录下

mac中php的默认扩展路径是:


​​cd /usr/lib/php/extensions/no-debug-non-zts-20090626 (我的php版本是5.3的)​​



好了,复制:

​​cp -p -v  memcached.so  /usr/lib/php/extensions/no-debug-non-zts-20090626​​



ok, 打开php.ini,增加memcached.so扩展路径。

extension= memcached.so

重启apache(或者你自己的web服务软件):


​​sudo apachectl restart​​



用phpinfo查一下:

 

​​​我

好的,成功了!顺便把memcache拓展也装上了。

(2)、使用源码包安装
libmemcached: ​​​https://launchpad.net/libmemcached​​​ (或者​​http://libmemcached.org/libMemcached.html​​​ )下载源码,
memcached:有两个版本一个是memcache(​​​http://pecl.php.net/package/memcache​​​),另一个是基于libmemcached的memcached版本(​​http://pecl.php.net/package/memcached​​ );

安装过程就不演示了。(不会源码包就用工具吧,我比较喜欢用源码包,速度杠杠的。)

结束语

其实先把概念和原理弄清楚后,做起来就比较顺手。
理清思路,轻装上阵。

标签:STAT,memcached,mac,memcache,php,安装,服务端
From: https://blog.51cto.com/u_3457306/5948030

相关文章

  • centos下php redis扩展的安装配置3种方法
    方法一1.下载phpredis扩展包 代码如下复制代码#wgethttp://redis.googlecode.com/files/redis-2.4.4.tar.gz2tar-zxvf解压压缩包,cd/扩展包(进入扩展包然后运行phpiz......
  • 大数据量缓存应用--memcached+magent
    越来越感觉到DB力不从心,在面对千万级用户量的应用时,DB面对平凡的curd,特别是查询的时候,早已不堪重负!如何解决高并发下数据的查询效率,在应用中显的越来越重要,好了废话不多说,首......
  • Nginx + Memcached + Tomcat 集群 session 共享
    一、Tomcat的配置安装既然是要集群,那自然不可能是一个Tomcat咯。将tomcat的安装包apache-tomcat-6.0.35-windows-x86解压到X:/(这个路径可以自定义),重命名加压目录,我将这个......
  • PHP将秒数转换成时分秒
    functionchangeTimeType($seconds){$seconds=intval($seconds);if($seconds>3600){$hours=intval($seconds/3600);$time=$hours.":".gmstrftime('%......
  • 在mac上配置ascp工具
    本来讲道理应该是直接在asperaconnect的官网Aspera-Connect|IBM上下载MacOS版本就ok了,但是不知道为什么下载下来装给全体用户之后,并没有图示位置/Appications/Aspera......
  • Linux一键安装web环境全攻略phpstu…
    此教程主要是应对阿里云Linux云服务器ecs的web环境安装,理论上不限于阿里云服务器,此教程对所有Linux云服务器都具有参考价值。写这篇文章的目的:网上有很多关于Linux一......
  • php开启openssl的方法
    php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置:windows下开启方法:1:首先检查php.ini中;extension=php_openssl.dll是否存在,如果存在的......
  • 本地如何使用phpstudy环境搭建多站…
    默认情况下,phpStudy的站点根目录是在它自己的WWW目录,比如F:\phpStudy\WWW,访问的地址可以是​​http://127.0.0.1/​​  或​​http://localhost/​​下面我们要实现的是创......
  • phpstudy 修改代码后,生效延迟
    phpstudy修改代码后,生效延迟问题:Phpstudy本地环境PHP代码修改后不能立即生效,或phpstudy修改了代码,生效有延迟软件环境:macOS13、phpstudy问题解决:https://www.xp.c......
  • PHP 之简单在线更新
    一、效果图   二、示例代码1、客户端common.php<?php/***CreatedbyPhpStorm.*User:Mr.Yang*Date:2022/5/11*Time:15:24*QQ:2575404985......