implementation of memcache