利用memcache - client和rubyzip优化Web应用与管理Zip存档
1. 使用memcache - client加速Web应用
1.1 memcache - client与memcached简介
memcache - client是用于Ruby的memcached接口,而memcached是一个分布式缓存系统。最初,memcached是为LiveJournal.com开发的,该网站是早期流行的博客社区之一。据报道,新开发的memcached仅使用现有硬件就能将LiveJournal的数据库负载几乎降至零。许多其他流行网站,如Slashdot和Wikipedia,也使用了memcached。
1.2 memcache - client的工作原理
memcache - client允许从Ruby程序访问memcached。通常,memcached用于补充数据库服务器或数据库服务器集群,也可用于实现几乎任何类型的缓存。其工作模式如下:当有复杂的只读查询时,首先检查该值是否存储在memcached缓存中,如果是,则使用缓存中的值,节省时间和CPU资源;如果不存在,则运行查询并缓存结果。
需要注意的是,memcached只是一个缓存,不能替代数据库。可以根据需要设置多个memcached服务器,并且它们可以按需故障转移。当无法联系到memcached服务器时,可以直接从数据库中提取结果。此外,由于memcached通过TCP/IP工作,不同机器上的不同进程可以透明地使用同一个memcached服务器。
1.3 简单示例:设置和检索值
以下是一个使用memcache - client