我的连贯性配置非常简单:
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>*</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
</distributed-scheme>
</caching-schemes>
</cache-config>
并且预期的行为是每次读取都将进入分区,但是从perf测试我可以看到读取是在本地完成的 - 没有网络调用发生。
我试图遵循官方文档,但无法找到如何使缓存完全分发。任何建议将不胜感激!
答案 0 :(得分:2)
您可以将到期时间设置为1毫秒,它将完成工作。名为<expiry-delay>
例如:
</caching-schemes>
<distributed-scheme>
<scheme-name>cache-distributed</scheme-name>
<service-name>Foo</service-name>
<lease-granularity>member</lease-granularity>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<expiry-delay>1ms</expiry-delay>
</local-scheme>
</internal-cache-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
</distributed-scheme>
</caching-schemes>
这是我们曾经使用过的解决方法,也许它适合你。
答案 1 :(得分:1)
在禁用本地存储的情况下运行。在缓存方案声明中将值设置为false,或者像vm prameter一样传递它。 假