一、该问题的重现步骤是什么?
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
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
我知道这个是销毁缓存的时候的做法,
@Cacheable(cacheNames = {BIZ_MERCHANT_MENU_CACHE},key = "#merchantMenu.id")
原来在查询单个数据详情时,
这个方式怎么做的缓存,我看2.5.0,这个注解已经没有使用了,呢我怎么做呢?
我问题的重点是缓存的存储,原来的详情上面加了
@Cacheable
注解,可以存储缓存,您说的呢个是怎么销毁缓存;
我需要知道的是使用该方式的问题是不会添加到对应的TenantId的redis目录下,如果不用@Cacheable,我又以什么方式,查询详情时,把它放进缓存呢
看下2.5.0升级说明
扫一扫访问 Blade技术社区 移动端