当前位置:  开发笔记 > 编程语言 > 正文

缓存对象集合的最佳方法.一起还是作为单独的项目?

如何解决《缓存对象集合的最佳方法.一起还是作为单独的项目?》经验,为你挑选了0个好方法。

说我有一个用户集合.每个用户都有User_ID,用户名Tenant_ID.

有时我需要所有用户使用特定的Tenant_ID.
有时我需要一个基于User_ID的特定用户".
有时我需要一个基于用户名的用户.

我总是可以使用Tenant_ID作为查找的一部分.

为此数据实现缓存层的理想方法是什么?
自从我处理多租户系统以来,我应该考虑哪些因素?
管理所有可能的缓存密钥的最佳方法是什么?

选项#1:将所有用户存储在"Tenant_1_Users"的单个密钥下

这个问题是我将通过网络传输大量不需要的数据.如果我只需要找到一个特定的用户,那么我需要在检索整个集合后使用LINQ或其他东西在代码中进行查找.

选项#2:在"TenantID_1_UserID_5"和"TenantID_1_Username_Jason"等不同键下复制相同的User对象.

这里的问题是管理用户对象的所有各种键和位置.特别是如果我需要刷新特定用户,因为它已在数据库中更新.我现在需要知道它可以存储的所有可能的地方.也使用更多内存,因为相同的用户可以在不同的键下.

相关:AppFabric Cache'Design' - 缓存单个项目或集合?
问题是Azure AppFabric缓存不支持区域,标记或通知.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有