V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
amosmz
V2EX  ›  问与答

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

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

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