突然萌发关于 redis 的想法(1)
本来昨天就打算写这篇了,但是熬到忘了,至于为什么要写这个是因为我昨天在写 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)相关推荐
- 突然萌发关于 redis 的想法(2)
接着上篇的说.. 上一篇 : 突然萌发关于 Redis 的想法(1) 今天写商城的时候突然发现,其实商城这种 频繁操作,频繁更新, 等操作,都只需要全部存储在 Redis 中就行了, 可能有部分数据会 ...
- 突发!Redis之父退出:不在维护Redis项目
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取近百本电子书入口 Redis之父Salvatore Sanfilippo在自 ...
- 倒手一套房,还贷款后落地400万!我打算离开上海了~
点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...
- 项目实践精解:ASP.NET应用开发
前 言 作者从事软件设计开发工作十多年,最近才萌发了写书的想法.因为作者希望推广一种最有效的学习捷径,这就是Project-Driven Training,也就是用项目实践来带动理论学习的方法.基于此 ...
- session共享怎么做的(分布式如何实现session共享)?
session共享怎么做的(分布式如何实现session共享)? 问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那 么用户在 s ...
- MSDN宝藏库中,初学者应该看的东西【整理的很辛苦哦】
MSDN宝藏库中,初学者应该看的东西[整理的很辛苦哦] 2012-06-14 14:25 by 随风浪迹天涯, 3710 visits, 收藏, 编辑 前言 诶,好吧,我首先接受大家的砖头,说我无聊也 ...
- 32岁领导的忠告:别把报表不当回事,早点放弃Excel才是出路
现在大数据还有前景吗?我将以自己的亲身经历,告诉你们答案. 以前搞大数据的,随便会搭建个hadoop就叫大数据工程师了,现在不行了,需要掌握的工具越来越多,大数据的工作也被逐渐分解到不同的数据岗位上, ...
- shape context matlab,形状上下文(shape context)算法完全解读
形状上下文(Shape Context)算法完全解读 前言 一. 轮廓提取(Canny Edge Detection)和轮廓点采样(Jitendra's Sampling) 二. 形状上下文(Shap ...
- 再见,胡阿姨!再见,共享单车!
最近,小灰的公众号发表了许多互联网大咖的故事,受到了小伙伴们的欢迎. 今天,我们再来讲一位大咖,她是摩拜单车的创始人胡玮炜,也是小灰的前老板. 当年在公司里,我们常常亲切地称她为"胡阿姨&q ...
最新文章
- 浅谈权限设计(来自深空老大)
- Proximal Algorithms 4 Algorithms
- opencv-contrib配置过程
- 在Java中使用可信时间戳
- wordpress上传主题错误解决方法
- Android开发之判断任意View上拉的方法
- 服务器端加入自动运行的JS代码
- matlab fwrite 多字节,单片机多字节串口接收
- 项目总结:初稿与定稿,方向相差180度
- Java Socket聊天室
- 微信小程序自定义地址组件
- 两人分组问题:显示In function 'int main()'求大佬解惑
- Mac系统中 alt+insert怎么操作?
- 2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛) Jumping Monkey(并查集,逆向考虑)
- 正确理解差异的“专业意义”与“统计学意义”
- os-003-protected-mode
- windows下cmd命令(全面)更新版
- poj1163数字三角形动态规划
- h3c路由器和三层交换机之间连接配置
- Python等级考试中的一道简单的血压数据处理题