缓存是改善网站性能的最重要手段,一方面缓存使用内存存储数据,可以更快速地响应请求;另一方面大量数据访问请求通过缓存返回,减少数据库压力,进一步改善性能
目前网站中大量使用的缓存服务是 Memcached或者Redis
以Memcached为例
应用程序通过Memcached客户端访问Memcached服务器集群,其中路由算法模块负责根据应用程序输入的KEY计算得到应该访问哪台服务器,然后通过通信模块从对应服务器上读写数据 如果Memecahed集群需要缓存更多数据或者需要提供更高的并发访问,只需要向集群中增加新的服务器,然后修改客户端服务器列表即可应用程序访问到新加的服务器 需要注意的是如果路由算法选择不当,比如使用余数Hash算法,会出现加入一台服务器而导致现有的缓存数据大量访问不能命中的情况,其后果相当于缓存服务器集群整体宕机,给系统带来灾难性后果。目前Memcached主要采用一致性Hash算法,这种算法可以使加入新服务器对现有数据访问影响最小