想问下,做项目的时候,什么情况下会意识到需要用 redis?

2019-05-07 17:27:51 +08:00
 amosmz

小白一枚,接触 redis、memcached 比较少。

假设这个项目刚起步,什么情况下会意识到这个功能必须使用缓存。

网上的教程挺多的,我看到文章点击数的时候需要用 redis 会方便多,但是项目刚起步的情况下,我就要直接意识到使用 redis 吗?

对这方面的了解太少了,看以前的项目上,大腿已经搭好了这些环境,所以不清楚什么时候需要使用。

不知道我该在什么样的功能去使用这些缓存,有没有大腿介绍下?

5174 次点击
所在节点    问与答
21 条回复
Solace202
2019-05-07 18:01:01 +08:00
这个问题真心问的好,前排等大佬回答
m240655880
2019-05-07 18:02:17 +08:00
前排等大佬回复
Yourshell
2019-05-07 18:02:26 +08:00
高并发?
HuasLeung
2019-05-07 18:11:36 +08:00
cpu 压力大、io 操作频繁、关系型数据库数据存储方式不那么给力…
wizzer
2019-05-07 18:19:52 +08:00
1、访问频繁、实时性要求不高,但 sql 查询或 io 比较耗时的数据,如仪表盘、Session ;
2、一些需要超时失效的数据,比如验证码、Token、Session 等;
3、需要缓冲的数据,比如入列前的订单 ID、队列处理完之后从缓存里取会很方便;
4、当临时数据库用,不需要永久存储,如计算出的临时值,用完丢弃;
5、……
nimrc
2019-05-07 18:23:42 +08:00
分布式
mooncakejs
2019-05-07 18:43:38 +08:00
kv,缓存,去重,都可以用 redis
shylockhg
2019-05-07 19:17:58 +08:00
io 负载过重
sunjourney
2019-05-07 19:41:11 +08:00
补充:需要过期的数据、分步式锁
falsemask
2019-05-07 20:40:48 +08:00
比如微博的点赞数和评论数就非常适合用 redis 来存储,访问非常频繁,实时性和准确性要求都不高,微博早期是用 redis 来做存储的
duanxianze
2019-05-07 21:27:36 +08:00
对我来说 使用 redis 存储 session 或者 token 时最重要的 可以随意的分布式负载均衡
Leigg
2019-05-07 21:40:00 +08:00
用的比较多的,缓存,队列。
K0ala
2019-05-07 22:13:22 +08:00
缓存,去重,锁,热数据读取,计数。。。。
emeab
2019-05-08 01:38:13 +08:00
经常需要读,但不用经常写的数据...
shiny
2019-05-08 05:38:06 +08:00
使用之前先考虑下项目自身的情况。很多时候是每天个位数的访问量,却操着百万日活的心。系统多优化,工作 996。
所以,个人在以下两种情况会考虑是不是真的需要 Redis:
1. 扛不住了
2. Redis 去实现真方便,省事

若无必要,勿增实体
chinvo
2019-05-08 07:55:08 +08:00
缓存、暂存、session、简易队列
bokchoys
2019-05-08 07:58:48 +08:00
@shiny #15 其实楼主还是抱着学习的态度的
zouzou
2019-05-08 08:02:46 +08:00
多个服务器共享数据优先使用 redis。
不知道什么情况下需要用 redis,那就先用哈希表实现功能,后期再用 redis。
DovaKeen
2019-05-08 10:46:08 +08:00
我觉得如果只有单个服务器的话(所有程序都在一个服务器上),并且以后不准备再拓展了,上 redis 也不是特别好的选择,也许还不如 ConcurrentHashMap …
jzds001
2019-05-08 10:52:37 +08:00
学习一个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561893

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX