理解 Memcache 的服务器端与客户端

本文详细解释了Memcache系统中的核心组件,包括memcached服务器端及多种客户端如memcache.so、memcached.so和libmemcached.so等的区别与联系,并提供了各种客户端的下载地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解 Memcache 的服务器端与客户端

什么是 memcache ?
什么是 memcached ?
什么是 memcache.so ?
什么是 memcached.so ?
什么是 libmemcached.so ?
什么是 libmemcache ?
什么是 libmemcached ?

如果刚刚才接触 memcache 的同学看到上面几个问题一定会头皮发麻, 上面几个名词究竟是什么意思, 它们之间的区别与联系是什么呢?

什么是 memcache ?

1memcache 是一种基于 C/S 架构的内存式缓存系统.

什么是 memcached ?

1memcached (http://memcached.org/) 是 memcache 这种缓存系统的服务器端. 它以后台守护进程运行于服务器上.
2memcached 同时也是 memcache 服务器端的后台守护进程名, memcache 服务器端启动命令类似于:
3# /usr/local/bin/memcached -d -m 1000 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

什么是 memcache.so / memcached.so / libmemcached.so ?

01做为一种 C/S 架构的系统, 统一的服务器端(memcached)可以有很多种不同的客户端连接它对它进行操作. 问题中的三种 xxx.so 就是 memcache 的针对 PHP 的三种不同的客户端.
02 
03最流行的网络语言 PHP 本身并不能直接与 memcache 服务器端连接和通讯, 但它可以通过加载 PHP 扩展的方式使自己具有连接 memcache 服务器端并操作其数据的功能. 我们可以把 PHP 加载的这种扩展理解为 memcache 缓存系统的 PHP 语言下的客户端. 最常见的操作 memcache 的 PHP 扩展有两种.
04 
05# 一种是 memcache.so (Window下是dll),
08 
09# 另外一种是 memcached.so
12与 memcache.so 不同的是 memcached.so 在编译安装时是依赖于 libmemcached 客户端库的,
13 
14# 还有一种不常见的是 libmemcached.so

什么是 libmemcache / libmemcached 端呢?

1和前面的 xxx.so 一样, 这两个 libxxx 也是另外两种不同的客户, 只不过它俩不是给 PHP 语言用的, 而是给 C/C++ 用的.
2 
3# libmemcache
4源码下载地址 http://people.freebsd.org/~seanc/libmemcache/
5 
6# libmemcached
8libmemcached 是 C/C++ 语言下的操作 memcache 服务器端的客户端库, 因为 PHP 的扩展也是用 C/C++ 写的, 所以编译安装 memcached.so 时依赖 libmemcached 也是可以理解的.

memcache.so / memcached.so 二者的区别: http://code.google.com/p/memcached/wiki/PHPClientComparison
还有更多的 memcache 客户端信息可以在 http://code.google.com/p/memcached/wiki/Clients 这里找到.

其实总的来说 memcache 的概念就只有两类, 一类是服务器端, 一类是客户端. 在讨论 memcache 的时候理解清楚这两类概念就OK了, 这样就不会出现别人说 memcache 客户端的问题你却理解成 memcache 服务器端的问题了. 在讨论客户端时也要讲清楚是什么语言的哪一个客户端, 因为 memcache 客户端中有很多名字都差不多, 如果都笼统的用 "memcache 客户端" 来讨论, 往往会造成别人说的是A, 自己理解却是B了.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值