首先,它是什么?
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前网站使用以提高网站的访问速度,尤其对一些大型的,需要频繁访问数据库的网站速度提升效果十分显著。这是一套开放源代码的软件,以BSD license授权发布。
那么memcache是如何运行的呢?
MemCache的工作流程如下:先检查客户端请求的数据是否存在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时,更新memcached中的数据,保证一致性。当分配给memcached的内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略 + 到期失效策略,失效数据首先被替换,然后再替换到最近未使用的数据。
MemCache是一个高性能的分布式的内存缓存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,