Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

二级缓存更新的问题,请赐教 #205

Closed
ilaotan opened this issue Nov 22, 2018 · 4 comments
Closed

二级缓存更新的问题,请赐教 #205

ilaotan opened this issue Nov 22, 2018 · 4 comments

Comments

@ilaotan
Copy link

ilaotan commented Nov 22, 2018

今天抽空学习了一下jetcache,写了几个demo,由于之前有j2cahce的使用经历,所以在二级缓存部分着重测了下.有以下疑惑.
环境: springboot2 起两份服务A B模拟集群.
姿势: EnableMethodCache 在方法上加注解来开启缓存
当A中执行update后,只会更新A的缓存和远端缓存.对B中的本地缓存无影响.(只有等待B本地缓存过期)
在B缓存过期之前,服务A B返回一新一旧两个版本数据.
对于数据入库+前端展示的服务集群化后,如何保证开启二级缓存情况下数据的一致性.

还请指导下jetcache二级缓存在实际项目的使用姿势(比如入库+前端展示).

@areyouok
Copy link
Collaborator

要实现一个机制,可靠的通知所有的服务器失效本地缓存,会引入很多依赖,变得很重,所以没有做。

我理解,只有对性能要求极高的情况下才使用两级缓存,否则redis的性能已经够好了。使用两级缓存时,可以为本地缓存设置一个相对较短的超时时间,比如1秒。大部分情况下这就够用了。

如果想要同步到所有服务器只能自己来做了,jetcache可以给每个Cache实例添加事件监听器,不过最好使用Cache API而不是方法缓存。

@ilaotan
Copy link
Author

ilaotan commented Nov 22, 2018

谢谢作者解答

@gumutianqi
Copy link

可以单独做一个jetcache-extends扩展来实现实时分布式两级缓存

@areyouok
Copy link
Collaborator

可以单独做一个jetcache-extends扩展来实现实时分布式两级缓存

这个得自己实现了,jetcache的扩展性还是挺好的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants