`
dcj3sjt126com
  • 浏览: 1872066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

我想配置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管理软件工具安装

1
$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方式执行命令:

1
2
3
sudo ./configure --prefix=/usr/local/libevent ;
 
 make && make install

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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管理软件工具安装:

1
$ sudo brew install php53-memcached

安装日志:

1
2
3
4
5
6
7
8
9
10
11
==> 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拓展的位置。

1
vi ext-memcached.ini

我们看到:

[memcached]

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

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

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

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

好了,复制:

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

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

extension= memcached.so

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

1
sudo apachectl restart

用phpinfo查一下:

 

mecache

好的,成功了!顺便把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 );

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

结束语

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

分享到:
评论

相关推荐

    PHP7.x 8.0 memcache dll php_memcache.dll

    4. **性能优化**:memcache的性能受到网络延迟和并发处理能力的影响,合理设置缓存过期时间、选择合适的数据结构以及优化服务器配置都是提升性能的关键。 5. **兼容性问题**:由于`php_memcache.dll`扩展可能不兼容...

    Memcache缓存技术,Memcache配置说明及其文件,PHP5.2.6版本内存缓存技术配置

    在本主题中,我们将详细探讨Memcache缓存技术,特别是针对PHP5.2.6版本的配置以及在Windows操作系统的应用。 首先,理解Memcache的基本原理至关重要。Memcache的工作机制是在内存中存储数据,当应用程序需要访问...

    php5.4.4-php_memcache

    1. **Memcache基础**:Memcache是一种开源的、分布式的内存对象缓存系统,它的设计目标是通过减少数据库负载,提高动态、数据库驱动网站的性能。它将数据以键值对的形式存储在内存中,以快速读取,适用于存储相对较...

    PHP中的Memcache详解

    本文将深入探讨Memcache的基本概念、与memcached的区别、安装步骤以及PHP中Memcache的使用方法。 一、Memcache简介 Memcache最初是为LiveJournal服务的项目,由danga.com开发。它是一个高性能的、分布式的内存对象...

    php 5.4.15 64位 memcache.dll

    Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...

    PHP memcache 多版本拓展

    在PHP中,Memcache扩展允许开发者将数据存储到Memcached服务器上,以便后续请求可以快速获取这些数据,从而提高整体性能。 本篇文章主要围绕"PHP Memcache多版本拓展"进行详细讲解,包括其适用环境、安装步骤、使用...

    PHP 5.4 使用的 memcache

    8. **分布式缓存**:Memcache支持多服务器环境,可以分散负载,提高系统的可伸缩性和可靠性。 在PHP 5.4中使用Memcache不仅可以提升Web应用的响应速度,还可以减轻数据库的压力,尤其适用于那些读取频繁、写入较少...

    memcache安装php5.2.17的php_memcache.dll

    Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...

    windows php memcache 扩展

    - 分布式存储:Memcache支持多台服务器集群,你可以通过配置多个服务器地址,实现负载均衡和故障转移。 - 键值大小限制:注意Memcache中的键值对大小不能超过1MB,设计数据结构时需考虑这一限制。 - 数据一致性:...

    memcache 扩展,php5.5 32,64 位,以及其他版本下载地址

    Memcache 是一个高性能的分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对数据库的访问,从而提高Web应用的性能。在PHP环境中,Memcache扩展使得PHP脚本可以直接与Memcache服务器进行交互,实现数据的...

    php5.6 php7.0 php7.1 memcache.dll扩展

    4. 快速操作:Memcache支持原子操作,如增加、减少等,确保了并发环境下的数据安全。 总的来说,这个资源对于那些使用PHP 5.6、7.0或7.1并希望利用Memcached提高网站性能的开发者来说是很有价值的。正确安装和配置...

    windows用php7的memcache所有版本dll

    **Memcache扩展**:Memcache是一个高性能的分布式内存对象缓存系统,它能够存储键值对数据,减少数据库负载,加快数据访问速度。PHP的Memcache扩展允许开发者在PHP代码中直接操作Memcache服务,进行数据的读写操作。...

    PHP全版本 memcache dll扩展包

    2. **数据一致性**:Memcache不提供数据持久化,服务器重启或内存耗尽时,所有数据会丢失。对于重要数据,应配合数据库或其他持久化存储方案使用。 3. **安全**:虽然Memcache本身不提供安全性机制,但可以通过网络...

    memcache缓存配置包(dll,memched,配置方法)

    这个压缩包提供了在PHP环境中配置和使用Memcache所需的关键组件。 1. **Memcached软件**: Memcached是Memcache的主要实现,它是一个高性能、分布式的内存对象缓存系统。它设计的目标是通过将数据存储在内存中,快速...

    php5.4_memcache.dll 64位

    标题 "php5.4_memcache.dll 64位" 指的是针对PHP 5.4版本的一个64位扩展,用于支持Memcache缓存系统。...配置文件中启用该扩展,同时确保`memcached.exe`在系统路径中可找到,以便启动和管理Memcached服务。

    php5.3.5下可以使用的php_memcache.dll

    在PHP中使用Memcache,首先需要安装对应的扩展。描述中提到的“我现在正在用,直接放在像D:\wamp\bin\php\php5.3.5\ext下,重启apache就能使用。”这部分内容指导了如何在WAMP(Windows Apache MySQL PHP)环境中...

    Windows_Memcache安装(XAMPP+Memcache+PHP)

    针对Memcache的安装与配置,以及如何在PHP中调用Memcache,本文提供了两个视频教程的链接,分别介绍了安装配置的全过程和PHP调用方法的具体操作。这些教程可以作为学习Memcache安装和使用过程中的辅助材料。 综上所...

    windows php7-memcache扩展

    本文将详细介绍如何在Windows环境中安装和配置PHP7的Memcache扩展。 1. **下载扩展** 首先,你需要找到适用于PHP7.0到7.3的Memcache扩展。根据提供的压缩包文件名"PHP7-memcache-dll-master",可以推断这是一个...

    window-php7.1-memcache-dll

    3. **配置Memcache**:Memcache服务器也需要配置,包括设置监听端口、最大连接数、内存大小等参数,以满足不同应用场景的需求。 4. **性能优化**:理解Memcache的工作机制,如数据过期策略、内存分配策略等,可以...

    memcache服务加扩展php5.6的dll

    标题中的“memcache服务加扩展php5.6的dll”是指在PHP 5.6环境中安装和配置Memcache服务及相应的PHP扩展。Memcache是一种广泛使用的分布式内存对象缓存系统,它可以提高Web应用的性能,通过存储数据在内存中来减少...

Global site tag (gtag.js) - Google Analytics