B/S架构中,缓存处理的一点点感想。

最近下班之后有大量闲暇时间,想做一个内容管理系统,包括前台文章浏览和后台的文章管理。

今天就对系统中将要用到的缓存方面的东西,做一下感想。

1、用什么做缓存?

在之前的项目中接触过Redis和Memcache,当时项目中使用Redis比较多,所以相比Mecache,自己更熟悉Redis,所以这次使用Redis来做缓存。

2、缓存用到哪?

用缓存是为了提高响应速度,很明显NoSQL数据库的的访问速度远远大于关系型数据库。那么肯定要对数据库中经常使用的数据进行缓存,这是其一。其二,我的想法是把指定的页面也进行缓存。有这一想法,也是源于最近的一个项目。在那个项目中,首页需要加载大量的商品,导致首页的打开速度很慢,项目经理让我把首页整个缓存到Memcache,缓存的刷新是靠设置缓存过期时间和在后台手动删除缓存来控制。所以,对当下要做的项目,也准备把页面进行缓存。总结一下:缓存用到哪?1、缓存数据,2、缓存页面。

下面是对两种缓存的操作说明:

1、数据缓存

只对经常用到数据进行缓存,那么对于当下的项目,文章这个对象肯定要进行缓存的。

1)新增时,保存到数据库后,新增缓存。

2)更新时,更新数据库的数据之后,更新缓存。

3)删除时,删除数据库的数据之后,删除缓存。

对象的缓存,网上有大量技术文章分析的非常详细,在此不再赘述。

2、页面缓存

在当前项目中,计划对首页,以及每个分类下的首页进行缓存。

未完待续...

3、缓存的刷新

1、数据缓存,在数据发生变化是肯定去主动刷新缓存

2、页面缓存,一种方式是设置缓存超时时间,超时之后缓存清除,再次访问页面时,将页面重新输入缓存中。另一种可以定期刷新缓存,不通过浏览器请求,系统自动请求,将缓存刷新。

第二种方式可以保证浏览器的每次请求都是从缓存中获取数据,保证响应时间。而第一种,在缓存超时被清除时,响应时间会长一些。


PS:也想过缓存整个页面是否妥当,是否应该对页面上的内容进行分类切割,分类缓存,比如对热门文章列表进行单独缓存。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值