cMoon
V2EX  ›  Redis

redis 有时取不到值

  •  
  •   cMoon · Nov 10, 2023 · 3245 views
    This topic created in 1094 days ago, the information mentioned may be changed or developed.

    背景: A 调用服务 B,然后每秒查一次 redis 去获取值. B 收到 A 的请求后将数据写入 redis.

    出现的情况是有时候 B 已经将数据写入 redis 了,但是 A 读不到. 查询写入使用的同一个 StringRedisTemplate.

    有时候查不到就很迷


    顺便吐槽下华为云 -- huaweicloud.csdn.net
    点下阅读全文就自动获取手机号发送注册验证码..

    13 replies  •  2023-11-13 10:55:59 +08:00
    WashFreshFresh
    WashFreshFresh
    Nov 10, 2023
    1
    redis 集群?同步会不会有问题
    cMoon
    cMoon
    OP
    Nov 10, 2023
    2
    @WashFreshFresh #1 没集群
    WashFreshFresh
    WashFreshFresh
    Nov 10, 2023
    3
    排查不到就先加个日志吧,b 写进去后立即直接读出来看看。
    tianwaifeixian
    tianwaifeixian
    Nov 10, 2023
    4
    异步问题?看下 A 调用 B 是不是异步调用的
    cF06myaQ57WHKMBv
    cF06myaQ57WHKMBv
    Nov 10, 2023
    5
    怎么证明在 A 读取的时候,B 已经将数据写入 redis 了
    cMoon
    cMoon
    OP
    Nov 10, 2023
    6
    @tianwaifeixian #4 异步的,所以才通过缓存读数据
    @ljtfdt #5 图形化界面已经查出数据了,但是 A 还是一直获取 null
    wu00
    wu00
    Nov 10, 2023
    7
    怎么证明”每秒查一次 redis“真的查了而且一直在查,题外话:这里设计有点离谱...
    Habyss
    Habyss
    Nov 10, 2023
    8
    偶发吗? 偶发的话, 在代码中能影响的也就 key, 不同库, 时间差了
    1. key 是固定的吗, 两边服务都打印一下用来读 redis 的 key, 看一下是否一致
    2. 看一下两边用的是不是同一个库
    3. 在 1 的基础上把时间也打印一下
    cMoon
    cMoon
    OP
    Nov 10, 2023
    9
    @WashFreshFresh #3
    @tianwaifeixian #4
    @ljtfdt #5
    @wu00 #7
    @Habyss #8
    最新发现,服务做了集群连接同一个 redis,当查询/插入都在同一台服务器时没有问题,不同服务器时就查询不到了

    redis 配置都是一样的
    chainsR
    chainsR
    Nov 11, 2023 via iPhone
    10
    别光看配置文件,不一定准确,在启动时直接执行 SaManager.getSaTokenDao().set("name", "value", 100000);, 随便写入一个值,看看能不能根据你的预期写进这个 Redis ,如果能的话才能证明代码连接的 Reids 和你用管理工具看到的 Redis 是同一个,再进行下一步排查。
    chainsR
    chainsR
    Nov 11, 2023 via iPhone
    11
    satoken 也有这样的说明
    litchinn
    litchinn
    Nov 11, 2023
    12
    同一台机器没问题,不同的查不到,写入后外部 GUI 能查到,配置一样

    你这个配置不会是配得例如 127.0.0.1 或者 docker 网络指向自己的 ip 吧

    redis 上查询下 client 链接情况吧先
    jifengg
    jifengg
    Nov 13, 2023
    13
    华为云那个吐槽确实是,前几天也是看一个文章,点一下查看全文,就发验证码来了,我还以为有人要盗号了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2411 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:51 · PVG 08:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.