作为一名PHPer新手,在求职或解决网站服务器负载的时候总避免不了和缓存技术打交道,闲来无事,就决定先研究研究memcached。
查阅相关资料时发现这玩意还有两个东西,memcache和memcached,我有点慌了,不带这样折腾人的,最讨厌这样模棱两可似是而非稀里糊涂的感觉。没办法,只好先去百度这两个家伙到底是怎么一回事了。关于这两者的关系呢我参考了这篇博客的描述,感觉讲的还是不错的,直接上地址memcache和memcached区别。
下面我就根据我的理解总结下这两者的关系吧。
memcache
百度百科解释,memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。
也就是说,memcache是一个为了加速网站访问和降低数据库负载的、基于内存的缓存系统,而这个缓存系统名字就叫做memcache,没错,就是这样。
memcached
百度百科解释,Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。
既然memcache是这个danga的一个项目的名称或者是这个缓存系统的名称,那么memcached就是这个系统服务的守护进程的一个叫法、一个名称。当你安装了memcache后运行的memcache服务名称叫做memcached。
PHP的memcache客户端
我们看PHP的手册其实可以发现memcache和memcached都存在,只不过memcached方法更多,然后网友们都说memcached更强大,推荐使用memcached。而关于PHP的两个memcache客户端呢我们可以通过这篇文章来帮助我们理解——php_memcache与php_memcached扩展的区别。