一、该问题的重现步骤是什么?
1. 物联网平台发现缓存使用有一个问题:当blade-server中的代码想要删除blade-broker中生成的缓存,无法修改或者删除,因为blade-server由租户在使用,blade-broker不是租户直接使用的。如果想在blade-server中的代码能修改或者删除掉blade-broker中的缓存数据,应该怎样操作?
二、你期待的结果是什么?实际看到的又是什么?
期待的结果:blade-server中能够通过代码修改或者删除blade-broker中生产的缓存数据。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
正在使用的产品:BladeX物联网平台
版本:1.2.0
操作系统:Windows11
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
CacheUtil默认是租户模式,这种情况你可以把需要在broker清理的缓存关闭租户模式,也就是在CacheUtil.get方法最后一位加一个false,这样就不会有租户编号了。
然后broker在调用evit来删除对应的key,同样最后一位填入false关闭租户模式。
如果要在broker开启租户模式的情况下,指定租户id删除,目前还不支持,如果需要可以二开一下Tool,在CacheUtil单独加几个方法来额外增加tenantId的入参才行。(难度不大,但是有风险,所以我们才没写这个逻辑)
改下业务逻辑,用CacheUtil结合false使用能解决问题。非常牛逼的框架代码
扫一扫访问 Blade技术社区 移动端