修改系统字典和业务字典后 DictCache不能获取修改后的值,需要重启 system模块才能生效

Blade 未结 2 1163
3021353592
3021353592 剑圣 2022-01-05 09:57

一、该问题的重现步骤是什么?

Bladex 2.6.0

1. 修改系统字典和业务字典后 DictCache不能获取修改后的值,需要重启 system模块

2. 怎么做才能修改完后不重启system模块情况下, DictCache能获取当前修改值


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2022-01-05 14:51

    字典修改删除的时候已经执行clean操作了,你去看一下对应redis缓存是否被删除。

    另外Cache的get是对应的,如果被删掉了,重新get,会去数据库获取最新的数据并且返回。

    image.png

    image.png

    作者追问:2022-01-06 14:08

    确实如你所说,修改前【test_key= haha】但是我中途修改了字典值【test_key= nihao】,再去获取的时候 如果redis没有,系统字典确实会重新获取,但获取的 是旧值【haha】  不是新值【nihao】

    2 讨论(0)
  • 2022-01-05 10:04

    是因为cache的原因吧,你可以手工吧cache clean

    作者追问:2022-01-05 11:30

    新增或者更新系统字典得时候 clean 再 put?


    0 讨论(0)
提交回复