概述:我们正在使用cassandra在应用程序中存储缓存。我们的表行程有(分区键、集群键1、集群键2)主键和有效负载列。目前的实施已经完成 CacheService[T: Key]
其中有3个方法get,update,delete。我们有 ItineraryService[T: Key]
实现这三种方法。在当前的get方法实现中,我们只使用分区键来获取数据。此缓存服务也由其他服务实现。
问题:问题是有时我们需要通过集群键1或集群键2获取数据。现在我们只有一个行程服务我们不能改变执行。
解决方案:我脑海中的解决方案将再创建一个抽象层,在那里我将创建方法getbyclusterkey1和getbyclusterkey2。我不能在行程缓存服务中这样做,因为我解释了cacheservice也是由其他服务实现的。
预期解决方案:我想传递一些Map[key,columenname]。如果我可以直接在cassandra中获取数据,我将相应地构建查询,否则我将获取所有数据,然后进行过滤。我知道查询顺序,所以我将检查可以生成查询的集群键,然后保留其他键,稍后过滤掉。
如果你们已经建造了这样的东西,请给我一些建议。我想构建一个松散耦合的设计。
暂无答案!
目前还没有任何答案,快来回答吧!