使用rowMapper配置并使用new ClientConfig()
和AmazonDaxClient
我无法将dax集群与我的表同步。我知道,如果它已在dax内存缓存中更新,则必须经过两次跳转才能返回查询结果。若要解决这样的问题,当我已经写入了大量数据时,如何在没有客户端查询的情况下将其同步到DAX群集?
因此,我想到了进行连接到我的dax端点的限制表扫描。 这仅返回缓存中的对象。通过dax进行的表扫描未反映任何更新/插入。
有帮助吗?
答案 0 :(得分:0)
为查询缓存配置的TTL是多少? 您可能会看到此行为的原因是表扫描遇到了高速缓存命中,因此DAX无法联系DynamoDB。因此,您将获得旧数据。这些数据将一直保持陈旧状态,直到您使用TTL进行查询缓存为止,然后后续查询将获得新数据。
要了解有关项目缓存和查询缓存的更多信息,请访问DAX的官方页面:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.concepts.html#DAX.concepts.query-cache
答案 1 :(得分:0)
如AWS DAX用例中所述。达克斯不是连续读取的理想选择。因此:
需要高度一致的读取(或不能忍受最终一致的读取)的应用程序。
与AWS解决方案专家进行讨论。确实是这样。在DAX上执行扫描操作时。外部应用程序可能已直接写入dynamoDB表。相应于对缓存的SCAN操作已经包含命中,将返回结果,并且不报告缓存未命中,并且按原样返回结果。理想情况下,这最终将与扫描中的LRU一致。
由于DAX直接从高速缓存中读取数据,仅检查布尔高速缓存命中或未命中,并且不验证内容。唯一可能的方法是让网站上提到的客户端逻辑处理该问题。