我正在开发一个多租户应用程序,我正在部署到azure。
我想利用windows azure缓存服务,因为它看起来比每次调用点击数据库都有很大的性能提升。
假设我有2张桌子。企业和客户。企业可以拥有多个客户,业务表包含有关业务的详细信息。
业务详细信息不会经常更改,但每个不同租户的客户信息会不断变化。
我假设我需要2个命名实例(1个用于业务详细信息,1个用于客户)
2个命名的缓存是否足够,或者我是否需要为每个租户分别使用这些缓存?我认为2会好的,好像我必须为每个单独创建它会很快变得昂贵。
谢谢。
答案 0 :(得分:0)
如果您有不同的缓存要求(过期策略,默认TTL,通知,高可用性,......),则使用不同的命名缓存很有意思。
在您的情况下,您可以简单地查看每个租户使用不同的 Regions :
Windows Azure Cache支持创建和使用用户定义的区域。区域是缓存项的子组。区域还支持缓存项的注释以及称为标记的其他描述性字符串。区域支持对该区域中任何标记项目执行搜索操作的功能。
这将允许您在每个租户持有该租户的业务和客户的区域中拆分您的命名缓存(您只需要一个)。如果企业不经常改变,你可以简单地将这些项目的TTL更改为1,2,......小时。