我的用例如下:
应用程序客户端使用分布式缓存(Memcached / Redis / etc)来缓存数据库输出。我想在应用程序客户端中添加一个隐藏的功能 - 如何处理缓存缺失 例如应用程序客户端只是要求获取分布式缓存的密钥值(不知道数据库详细信息)。现在,它希望分布式缓存处理缓存未命中 - 从Relational DB获取数据并缓存它。
似乎Redis / Memcached没有提供这样的功能。我是否遗漏了某些内容,或者我应该查看此用例的其他工具/框架。
答案 0 :(得分:2)
您需要使用直读/直写缓存模式,其中客户端应用程序将缓存视为主数据存储,并对缓存执行所有读写操作。另一方面,缓存将负责使用部署的直读/直写提供程序将自身与数据库同步。
在读取操作中,如果缓存中不存在数据,缓存本身将从数据库加载数据,从而避免缓存未命中。
阅读Iqbal Khan的this article,了解有关直读/后写缓存的更多详情。