Java缓存key->value,按标签分组(允许重置)

标签 java caching

我正在寻找一种在驱动器存储上缓存键 -> 值对的方法(不是在内存中,因为它可能会达到千兆字节),这可能是按标签分组。

例如。

query1 -> data1 (tag1)
query2 -> data2 (tag1, tag2)
query3 -> data3 (tag2)

reset_cache(tag2)

因为数据是从模板生成的,所以我还需要在访问缓存时检查模板是否没有更改。

我将不胜感激任何建议。

最佳答案

尝试使用嵌入式数据库,例如 H2 。它将允许您保留数据,但由于它嵌入在您的应用程序中,因此不需要设置、连接到服务器等。该 API 基于简单的 SQL,因此如果在某个时候您的数据增长并且您需要使用一个真正的数据库引擎,应该很容易迁移到 MySQL、Postgres 或任何您当时认为合适的引擎。

通过为代码中使用的 put 和 get 操作创建包装器,您将能够执行其他操作,例如每次获取时检查模板是否已更改。

关于Java缓存key->value,按标签分组(允许重置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650246/

相关文章:

caching - 我是否需要使用RedisLocks(ServiceStack.Redis)

android - Robospice - 我们应该以什么顺序使用 execute()、addListenerIfPending()、getFromCache()

java - 如何在 Spring Boot 应用程序的 application.properties 文件中设置 MyBatis 配置属性?

java - JSF/Seam - 提交新组件实例?

java - Apache-Commons Commons-Functor 现状

ruby-on-rails - Rails.cache.clear 某些键名?

Python Bottle 和缓存控制

python - 类 X 的 __new__ 方法中的 X 类型的 Unpickling 对象在返回 unpickled 对象时调用 __init__,为什么?

java - 允许我的 Android View 嵌入到其他应用程序中

Java构造函数困惑,什么去了哪里?