Memcached是什么?
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。
Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。
通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓存,而使用memcached的缓存比ASP.NET的局部缓存更加灵活,可以缓存任意的对象,不管是否在页面上输出。而memcached最大的优点是可以分布式的部署,这对于大规模应用来说也是必不可少的要求。
如何使用memcached-Server端?
在服务端运行:
# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211
这将会启动一个占用2G内存的进程,并打开11211端口用于接收请求。由于32位系统只能处理4G内存的寻址,所以在大于4G内存使用PAE的32位服务器上可以运行2-3个进程,并在不同端口进行监听。
memcached的老窝
http://www.danga.com/memcached/
一个比较详细的使用memcached的大型网站架构
http://poocs.net/articles/2006/03/13/the-adventures-of-scaling-stage-1
http://poocs.net/articles/2006/03/20/the-adventures-of-scaling-stage-2
一个使用memcached作为session store的性能比较(Using memcached for Ruby on Rails session storage)
http://railsexpress.de/blog/articles/2006/01/24/using-memcached-for-ruby-on-rails-session-storage
从LiveJournal后台发展看大规模网站性能优化方法
http://www.example.net.cn/archives/example/index.html
对于集群系统来说,session同步是一个比较棘手的问题,
也许,memcached是一种不错的方案。
