我目前正在评估Windows Server AppFabric作为分布式缓存解决方案。如果我们实施AppFabric,我们就会有3个或4个不同的Web应用程序使用它来进行缓存。我已经看到AppFabric提供了创建命名缓存的功能。我想知道是否可以在命名缓存上设置最大大小?看起来你可以设置最大值。缓存集群主机的内存大小,但我还没有看到任何迹象表明这可以在每个缓存的基础上完成。
我有兴趣设置最大值的原因。基于每个缓存的大小是我的想法是我们为每个使用AppFabric的应用程序创建一个命名缓存。然后,由应用程序A缓存的对象不会潜在地导致应用程序B缓存的对象的驱逐。也许我不正确地考虑这个或者还有另一个可以实现此目的的AppFabric功能。任何见解都将不胜感激。
答案 0 :(得分:1)
我担心在AppFabric中无法做到这一点。
命名高速缓存是数据的逻辑容器,每个高速缓存跨越集群中的所有高速缓存主机。因为您可以在集群中动态添加/删除主机,所以指定命名高速缓存的大小是没有意义的。
这就是为什么规划缓存使用以及监控群集非常重要的原因。一种方法是通过performance counters(您也可以获得命名缓存的大小)。
您可以指定的唯一限制是在缓存主机上(这将影响群集中所有已配置的命名缓存):它仅用于驱逐。此功能与健康监测更相关。
答案 1 :(得分:1)
供那些希望更改整个群集的缓存的人参考:
http://blog.milrr.com/2012/05/code-how-to-change-appfabric-cache-size.html
stop-cachecluster
set-cachehostconfig -HostName ENVY7-WIN8-2 -CachePort 22233 -CacheSize 1024
start-cachecluster
这会设置1GB缓存。最佳做法建议您{@ 3}}由@ geo1701指出。