我的用例如下:
应用程序客户端使用分布式缓存(Memcached/Redis/等)来缓存数据库输出。我想添加一项对应用程序客户端隐藏的功能 - 如何处理缓存缺失 例如应用程序客户端仅要求获取分布式缓存的键值(不知道数据库详细信息)。现在,它希望分布式缓存能够处理缓存未命中的情况 - 从关系数据库获取数据并缓存它。
Redis/Memcached 好像没有提供这样的功能。我是否遗漏了一些东西,或者我应该为这个用例寻找一些其他工具/框架。
最佳答案
您需要使用直读/直写缓存模式,其中客户端应用程序将缓存视为主要数据存储并在缓存上执行所有读写操作。另一方面,缓存将负责使用部署的直读/直写提供程序将自身与数据库同步。
在读取操作时,如果缓存中不存在数据,缓存将自行从数据库加载数据,避免缓存丢失。
阅读this article作者:Iqbal Khan,了解有关通读/后写缓存的更多详细信息。
关于java - 使用带有选项的分布式缓存来处理缓存未命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144493/