作者回复: 问题1:Redis这种集中式缓存相比JVM本地缓存,的确会有网络和序列化的开销,所以如果你的场景能够接受缓存内容不一致和更新不及时这样的情况,用JVM本地缓存当然更合适,读多写少的高频缓存用JVM内部的会比用Redis好很多。这种都是要根据你的实际场景来考虑的。 问题2:我感觉没什么问题呀,我也是一样的,很多东西都是平时不太用到的,你需要知道有这些东西,在你需要时能够立刻想到它们,至于细节,有文档能让你很快找到就好了。新的东西一直在冒出来,你不可能每个都了解,先有个印象,需要时能马上拿起来,是种性价比比较高的做法。
作者回复: 如果你使用WebFlux这样的响应式框架,那么就需要对应的使用Reactive的组件,不然请求进来后还是同步执行的。Reactive的方式性能会相对高一些,在有阻塞操作时,它把这些操作异步化了,相比传统的方式,用了对应的框架后书写起来也会更方便一些,利用理解。
作者回复: 这讲是在说访问缓存Redis,和你用MQ没什么特别大的关系,Redis本身正好又有一个pub/sub的功能,可以用来做发布订阅,如果你们正好有这方面需求,又不想再打套MQ,可以考虑下这个功能。
作者回复: 两个没什么关系,一个是响应式编程,一个是流式处理
作者回复: 那你真是冤枉官方文档了,人家就是返回个Mono给外面的,不要subscribe,这样才不会在自己这里block,外面爱怎么用怎么用。
作者回复: Spring Boot对内嵌数据库做的支持,能够自动加载这两个文件并执行,之前的章节里有其他同学问了,我在评论里解答过了,你可以到前面课程的留言中看一下。
作者回复: 可以用Mono.and()/then()连接几个Mono的操作
作者回复: 这和RedisTemplate没啥关系,Flux里的应该都是这样的吧,每个操作都是传进去的Function,每个doOnComplete()都有自己的作用对象。这个的确产线上用的不多,建议可以再DEBUG下看看
作者回复: 这个我好像也没做什么特殊的配置啊
作者回复: 我装了Database Navigator,不过课程中并没有用这个插件