本来昨天就打算写这篇了,但是熬到忘了,至于为什么要写这个是因为我昨天在写 redis 的时候突然想到的

注:此篇文章并没有讲解 redis 内部的使用 或 如何使用redis写代码,等等。。仅仅只是突然想到的,如果各位大佬有什么想说的,有什么想补充的,再或者我说的有什么不对的,请不要客气,直接讲出来,我会非常认真的看的

正片开始...

当时想的是,如果一个用户在一个商城系统点击了一个商品添加购物车,并点击自己的购物车,然后购物车展示已添加的商品,这都可以放到redis,看似好像没什么问题,但是我就突然想到,如果这个用户在很早之前就添加了一件商品,而很久之后的今天,点击了自己的购物车,首先 redis 中并没有存储他之前购买的商品( 假设这个时间段中 redis 已经将数据更新到数据库中 ),这个时候,如何将商品展示呢,我想着,这不还是得去数据库(mysql)查吗,既然还是要去数据库查,那为什么还要多 redis 这一步呢,当时,因为这个问题想了很久,实在想不到什么,然后去各个地方去问,虽然并找不到人讨论( 还是很难受的。。),但是,一会后关于这个问题我又想到一点,首先,第一次访问,展示购物车商品肯定要去数据库查询的,如果在访问购物车之前用户已经添加了一件商品,那么将这个商品存储在   redis 中(以用户唯一id为key)的话,那么是不是可以减少一次数据库的查询呢? 你看啊,用户第一次访问这个网站,看到一件商品,然后加入购物车( 此时将这件商品存储在 redis 不直接存储在数据库 ),然后用户点击自己的购物车的时候,就不需要去数据查询刚刚添加的商品了,直接去 redis 中查就行了,但是还是要去数据库查询当前用户购物车中其他商品的数据的,但是,但是,这样可以减少一次在数据库中的查询和存储啊,因为添加购物车后,并没有直接更新到数据库,而是存储在 redis 中了,所以数据库只需要查询他其他的购物数据,刚刚添加的那条数据就不用在数据库查询了,直接从 redis 查询就行了,虽然这看似在数据库中可以少查一条数据,但是,如果一个网站的访问量特别大呢?比如同时有十万次的添加购物车商品的数据,是不是需要在数据库插入十万条数据,这还不算完,如果都点击了购物车展示页面,那么是不是还要除了查询当前用户其他的购物车商品信息外,还需再多十万次的数据库查询?如果存储再 redis 中的话,首先数据库查询当前用户的其他购物车商品信息,然后再去redis 中查询刚刚的存储的十万条信息就行了,这样数据库就减少了十万次的数据更新和查询,最后写一个脚本,等到某一个时间段将 redis 更新到数据的操作就行了。

使用 redis 的主要原因是因为它是存储在内存的,所以查询速度非常快的,虽然有时候存储几条数据看上去并没有什么影响,但是一旦量巨大的话,其作用还是非常大的

再说一下适用场景:

1. 一个页面中某个数据的频繁操作,比如一个商品有不同的价格套餐,那么每次点击不同的套餐就是一次数据更改,所以可用 redis 存储

2. 每次需要请求大量的数据,而且这些数据过一段时间后可能就没什么太大的作用,等等。。

3.额。。其实我也想不到什么了,目前想法有限制,所以欢迎来补充,我也会持续更新这一篇的,虽然可能会很久,如果我以后工作遇到这方面问题,一定会更新

关于我之后的想法

下一篇 : 突然萌发关于 Redis 的想法(2)

转载于:https://www.cnblogs.com/chaoqi/p/10464928.html

突然萌发关于 redis 的想法(1)相关推荐

  1. 突然萌发关于 redis 的想法(2)

    接着上篇的说.. 上一篇 : 突然萌发关于 Redis 的想法(1) 今天写商城的时候突然发现,其实商城这种 频繁操作,频繁更新, 等操作,都只需要全部存储在 Redis 中就行了, 可能有部分数据会 ...

  2. 突发!Redis之父退出:不在维护Redis项目

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取近百本电子书入口 Redis之父Salvatore Sanfilippo在自 ...

  3. 倒手一套房,还贷款后落地400万!我打算离开上海了~

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  4. 项目实践精解:ASP.NET应用开发

    前 言 作者从事软件设计开发工作十多年,最近才萌发了写书的想法.因为作者希望推广一种最有效的学习捷径,这就是Project-Driven Training,也就是用项目实践来带动理论学习的方法.基于此 ...

  5. session共享怎么做的(分布式如何实现session共享)?

    session共享怎么做的(分布式如何实现session共享)?  问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那 么用户在 s ...

  6. MSDN宝藏库中,初学者应该看的东西【整理的很辛苦哦】

    MSDN宝藏库中,初学者应该看的东西[整理的很辛苦哦] 2012-06-14 14:25 by 随风浪迹天涯, 3710 visits, 收藏, 编辑 前言 诶,好吧,我首先接受大家的砖头,说我无聊也 ...

  7. 32岁领导的忠告:别把报表不当回事,早点放弃Excel才是出路

    现在大数据还有前景吗?我将以自己的亲身经历,告诉你们答案. 以前搞大数据的,随便会搭建个hadoop就叫大数据工程师了,现在不行了,需要掌握的工具越来越多,大数据的工作也被逐渐分解到不同的数据岗位上, ...

  8. shape context matlab,形状上下文(shape context)算法完全解读

    形状上下文(Shape Context)算法完全解读 前言 一. 轮廓提取(Canny Edge Detection)和轮廓点采样(Jitendra's Sampling) 二. 形状上下文(Shap ...

  9. 再见,胡阿姨!再见,共享单车!

    最近,小灰的公众号发表了许多互联网大咖的故事,受到了小伙伴们的欢迎. 今天,我们再来讲一位大咖,她是摩拜单车的创始人胡玮炜,也是小灰的前老板. 当年在公司里,我们常常亲切地称她为"胡阿姨&q ...

最新文章

  1. 浅谈权限设计(来自深空老大)
  2. Proximal Algorithms 4 Algorithms
  3. opencv-contrib配置过程
  4. 在Java中使用可信时间戳
  5. wordpress上传主题错误解决方法
  6. Android开发之判断任意View上拉的方法
  7. 服务器端加入自动运行的JS代码
  8. matlab fwrite 多字节,单片机多字节串口接收
  9. 项目总结:初稿与定稿,方向相差180度
  10. Java Socket聊天室
  11. 微信小程序自定义地址组件
  12. 两人分组问题:显示In function 'int main()'求大佬解惑
  13. Mac系统中 alt+insert怎么操作?
  14. 2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛) Jumping Monkey(并查集,逆向考虑)
  15. 正确理解差异的“专业意义”与“统计学意义”
  16. os-003-protected-mode
  17. windows下cmd命令(全面)更新版
  18. poj1163数字三角形动态规划
  19. h3c路由器和三层交换机之间连接配置
  20. Python等级考试中的一道简单的血压数据处理题

热门文章

  1. ASP.NET MVC 登录验证码
  2. java 统一社会信用代码营业执照 税号(18位)校验工具方法 可用
  3. 如何通过域名获取主机ip地址
  4. shell脚本详解(一)——初学shell脚本必看哦
  5. 用安全策略加固无线局域网安全
  6. 快速幂算法及其在动态规划中的应用(矩阵幂)
  7. Shiro认证和授权的思路
  8. ASN.1笔记——语法规则与类型概述
  9. 专訪印度电商Snapdeal CEO:学阿里还是京东
  10. 专业的.NET条形码阅读器和条码生成器控件VintaSoftBarcode