一、该问题的重现步骤是什么?
1. 启动单个微服务,通过fegin缓存访问,
2. 启动单个微服务,在通过controller访问上面的对应的service
3.
二、你期待的结果是什么?实际看到的又是什么?
期待的结果是可以得到TenantId:bladex:XXX:XXX,实际上看到的现象是通过fegin访问的会自动的加上TenantId前缀,例如
redis缓存里的
而在通过单个微服务直接通过controller访问,在controller上添加
@Cacheable(cacheNames = {BIZ_MERCHANT_MENU_CACHE},key = "#merchantMenu.id")
此种方式的访问则不会添加到对应的TenantId的redis目录下,
而我看2.5.0中
看到了两种写法
测试后发现,通过上的cache类的访问都会加上租户ID,controller访问同样的service时则又创建了不带租户id的缓存,看过官方的升级文档,也不是很清楚,因为需要在代码基础上扩展缓存,能否详细的说明下2.5.0在不同的地方访问创建和销毁的redis缓存(比如通过fegin,controller。和service访问同一个请求)
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
商业版2.5.0 linux
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端