1.Memcache是什么?
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站访问的速度
2.Memcached的工作流程
客户端访问请求发送到代理服务器nginx,nginx先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作
如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现)
每次更新数据库的同时更新memcached中的数据,保证一致性 当分配给memcached内存空间用完之后,会使用LRU(Least
Recently Used,最近最少使用)策略加上到期失效策略 失效数据首先被替换,然后再替换掉最近未使用的数据
注意:
Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal
访问速度而开发的,后来被很多大型的网站采用 Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作
3.安装Memcache
获取Memcache安装包,加载memcache模块到php,这是php的一个插件,php的扩展模块
解压安装包
解压之后发现没有configur脚本来编译,可以用phpize生成configure(凡是php的插件都可以生成)
phpize命令建立:建立软链接,环境变量重新加载,执行phpize前还需要安装 “autoconf” 这个包,yum命令直接安装
执行phpize后就生成configur脚本,然后进行编译,指定的参数是一个命令,没有指定prefix参数是因为它会默认会安装到php目录下