Memcache 和 Memcached

Memcache 是一个高性能的分布式的内存对象缓存系统。它可以应对任意多个连接,使用非阻塞的网络 IO。

工作机制是,通过在内存中开辟一块空间,然后建立一个HashTable,Memcached 程序管理这些 HashTable。这块内存空间能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是,将数据调用到内存中,然后,从内存中读取,从而大大提高读取速度。

  • Memcache:是该系统的项目名称。
  • Memcached:是该系统的主程序文件(d可以理解为 daemon),以守护进程方式运行于一个或多个服务器中,随时接收客户端的连接和操作。

Memcache 服务器端和客户端

  • 服务器端

Memcached 是 memcache 缓存系统的服务器端,它以守护进程方式运行于服务器上。同时,memcached 也是 memcache 服务器端的后台守护进程名。

  • 客户端

那么什么是 memcache 客户端呢?你可能用 PHP 开发网站,也可能用 Python、java 等其他语言,这些相对于 memcache 缓存系统就是是客户端,都是在使用服务器的服务。再细化一点来说(如 PHP),PHP 的 memcache 扩展 php-memcache 或 php-memcached 就是 memcache 系统的客户端。

php memcache 和 php memcached

PHP 想要使用 memcache 缓存系统,需要安装 memcache 客户端,即 memcache 的扩展。当安装 PHP 的 memcache 扩展的时候,发现有 php-memcache 和 php-memcached 两个。

  • php memcache:是完全在 PHP 框架内开发的,是原生实现的。
  • php memcached:则是使用了 libmemcached。在功能和性能上,都要比 php memcache 要好。

所以,PHP 安装 memcache 扩展的时候,建议安装 php-memcached。