在大访问量的网站中,可以适当的采用缓存,以减少对数据库服务器的访问。
memCached为分布式缓存系统,在服务器端运行memCached服务,客户端将缓存请求和访问请求发送到客户端。
为key - value类型的缓存,通过hash存储。
1. 可缓存一切可序列化的对象。
2. 可以有多台memCached服务器,client通过相应算法将缓存请求或访问请求发送给其中一台服务器。
3. server 和 client间通过tcp通信。
4. 缓存的开销为: 序列化开销 + tcp通信开销;
访问的开销为: tcp通信开销 + 反序列化开销;
5. server上硬件资源主要占用内存,cpu占用很少。
6. server上的缓存内容通过hash表来组织,通过key访问。
7. 与asp.net 的system.web.caching.cahe的比较。cache只能缓存在app服务器上,和app服务器共用内存,可使用的内存有限,不能分布式,但速度更快。
Voldemort http://project-voldemort.com/
web优化其他方面:
1. Lighttpd服务器,适合于做图片服务器。