文档简介:
应用场景
1.静态页面缓存
Web页面的内容片段,包括HTML,CSS和图片等静态数据,内容修改操作少,读取频繁,可以缓存到分布式缓存Memcache实例,提高网站的访问性能。
2.数据库缓存业务
在动态系统中存在对大量数据读多写少的场景,如社交、博客网站大量查询用户信息、好友信息、文章信息等。为了减少磁盘数据库负载,提升性能,这些经常需要从数据库读取的数据,可以缓存在分布式缓存Memcache存储
适宜缓存的数据主要有:
经常被读取,实时性要求不高,且可以自动过期的数据。
例如网站首页最新文章列表、某某排行等数据,虽然新数据不断产生,但对用户体验影响比较小。这类数据可使用典型的缓存策略,设置合理的过期时间,当数据过期以后再从数据库中读取。为了让编辑或者其它人员能马上看到效果,可以再定一个缓存清除/刷新策略。
经常被读取并且实时性要求强的数据。
比如用户的好友列表,用户文章列表,用户阅读记录,游戏装备等。这类数据首先被载入到Memcache中,当发生更改(添加、修改、删除)时就刷新缓存数据。
3.秒杀业务
关系商品下单操作,牵涉数据库读取,写入订单,更改库存,及事务一致性要求, 对于使用传统型数据库的平台来说,秒杀活动阶段要避免订单创建后库存缺货,同时提供流畅的用户体验,压力巨大。
可以利用 Memcache的 incr/decr 功能, 在内存中存储商品的库存量, 秒杀的抢单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支付页面完成订单的后续操作。