amosmz
V2EX  ›  问与答

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

  •  
  •   amosmz · May 7, 2019 · 6516 views
    This topic created in 2742 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    若无必要,勿增实体
    chinvo
    chinvo
    May 8, 2019 via iPhone
    16
    缓存、暂存、session、简易队列
    bokchoys
    bokchoys
    May 8, 2019 via iPhone
    17
    @shiny #15 其实楼主还是抱着学习的态度的
    zouzou
    zouzou
    May 8, 2019
    18
    多个服务器共享数据优先使用 redis。
    不知道什么情况下需要用 redis,那就先用哈希表实现功能,后期再用 redis。
    DovaKeen
    DovaKeen
    May 8, 2019
    19
    我觉得如果只有单个服务器的话(所有程序都在一个服务器上),并且以后不准备再拓展了,上 redis 也不是特别好的选择,也许还不如 ConcurrentHashMap …
    jzds001
    jzds001
    May 8, 2019
    20
    学习一个
    shiny
    shiny
    PRO
    May 8, 2019
    21
    @bokchoys 也只是从另外角度提供个提醒。技术角度的话,这里人才太多,我说的肯定没大家好。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1531 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 12:06 · PVG 20:06 · LAX 04:06 · JFK 07:06
    ♥ Do have faith in what you're doing.