前言

之前在校内做的一些项目都比较小,没有用到缓存的必要性。在春招时候的一些面试中,也被问到了关于RedisMemcache的问题。实习中将接触到的项目不比以前,对于缓存的使用也应当尽早上手。


正文


什么是MemCache?

memcache是一套分布式的高速缓存系统,由LiveJournalBrad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源代码软件,以BSD license授权发布。[百度百科]

其项目的主程序文件为:memcached.exe


什么是MemCached?

Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。百度百科


PHP下的Memcache和Memcached

PECL(The PHP Extension Community Library)下有两种扩展:

  1. Memcache
    • 完全在PHP框架内开发
    • 是原生版本
  2. Memcached
    • 建立在libmemcached基础上
    • 功能更齐全

Memcache扩展和Memcached扩展的区别










































区别 Memcache Memcached
PHP手册 《PHP手册:Memcache》 《PHP手册:Memcached》
开发 原生版本,完全在PHP框架内开发 建立在libmemcached基础上开发
OO接口 支持 支持
非OO接口 支持 不支持
Binary Protocol 不支持 支持
一致性hash算法 支持 支持
\ \ 1.flag不在操作的时候设置,有统一的setOption();
2.实现了更多的 memcached 协议;
3.让人更放心

自己造的工具类轮子


参考资料