对于一个高并发电商网站,如果使用传统的关系型数据库,由于关系型数据库在并发量达到100万时,效率将大大降低,比如对于一个电商网站,用户登录浏览商品,在很短的时间内,用户可能会浏览很多商品,而这些商品就是用户的兴趣点,为了分析用户的潜在需求,我们需要记录所有的访问数据,难点在于,如果有100万个用户都在这样操作,传统的关系型数据库将很难处理这么多的请求,将造成大量的数据丢失,所以,为了快速响应这些请求,redis的快速读写功能就能使用上。
redis实现购物车参考博客
购物车的实现有三种方法:- 1直接使用关系型数据库,这样不用担心数据的丢失,但是高并发下速度慢
- 2使用浏览器客户端自带的cookie,缺点,可能禁用cookie,另外如果用户在没有登陆的情况下,添加购物车,之后又由另外一个人登录,那么此时的购物车就是别人的了
- 3redis缓存,速度快;缺点浪费大量服务器内存,但是一般这种情况,电商系统还是承受的住的,毕竟资源并不高,别人的文章说的,我想的话,这也就是个字段保存
网页缓存
早期的网站开发,前端的网页由于包含后台的数据,整个网页都是动态生成的,比如jsp;但是实际上,对于大部分网页而言,其中90%的网页都是固定不变的或者只改变一次,所以,就需要使用缓存来临时保存这些网页,而不用反复的动态生成而浪费时间数据行缓存,对于一个网页,有时候,网页只有其中的部分数据会变,但是网页整体不变。比如,电商促销活动页面,其中固定放出一定的商品用于促销,此时由于包含了商品信息,数据随时可能改变,所以不能使用上面的网页缓存;但是,如果直接访问数据库,速度又受限,这时就可以使用redis进行数据行缓存,只缓存指定的数据,比如促销的商品信息
详细逻辑代码:
1 | import com.google.gson.Gson; |