关于用 redis 作为数据库缓存的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ClancyH
V2EX    Java

关于用 redis 作为数据库缓存的问题

  •  
  •   ClancyH 2019-11-12 17:01:53 +08:00 4564 次点击
    这是一个创建于 2167 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前想用 redis 作为数据库缓存,主要问题是缓存数据源于查询缓存未查询成功然后对数据库查询结果的插入,所以在缓存中存储数据的 key 是查询条件吗,那这样不是每个查询条件都会有自己一套缓存,不说数据冗余的问题,还有在数据更新时涉及到的缓存数据改动不是就可能涉及到多个缓存结果,另外一种就是 redis 直接将表数据缓存过来,但是 redis 应该不擅长做关系查询吧,这样实现起来感觉很麻烦而且效率不高,所以第一种做法中有比较推荐的方案或者优化的建议吗,或者其他实现做法
    6 条回复    2019-11-13 10:55:36 +08:00
    deming
        1
    deming  
       2019-11-12 17:39:49 +08:00
    解决你的问题只需要一个注解 @Cacheable .
    susecjh
        2
    susecjh  
       2019-11-12 20:06:13 +08:00 via Android
    注解,包装器想想真的神器
    hisenyuan
        3
    hisenyuan  
       2019-11-12 20:18:11 +08:00
    这个描述看得我不知所云...建议好好组织下语言。
    量不大上述两位大佬的建议还不错。
    wushigejiajia01
        4
    wushigejiajia01  
       2019-11-13 00:31:40 +08:00 via Android
    看你的 redis 怎么用了,最简单的,userid 作为一个 key,然后 userinfo 作为一个 key, 通过查询条件得到 userid,然后再通过 userid 查询 userinfo

    然后数据更新,注意要保持缓存跟 DB 同步
    0NF09LJPS51k57uH
        5
    0NF09LJPS51k57uH  
       2019-11-13 09:53:58 +08:00
    你对 redis 的使用姿势有一些误解…不能把 redis 当作 mysql 去生搬硬套。
    我认为与注解啥的没关系,他既然会疑问 redis 不适合做关系查询…建议去找找 redis 实战的例子来看看
    zarte
        6
    zarte  
       2019-11-13 10:55:36 +08:00
    或许你需要的是主从而不是缓存。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1077 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 18:22 PVG 02:22 LAX 11:22 JFK 14:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86