我在 Azure 中托管了 asp.net mvc5 项目,该项目使用 SQL Azure 进行数据持久性。我的数据库中的一些表就像字典,它们被很多表引用,并且很少更改。此类表的一个示例可以是客户端应用程序类型:Windows、Windows Phone、Android 等。
但是还有更多的数据库插入操作将数据插入到对这些 dict 表具有外部引用的表中。 我想要优化,并且不要在每次插入时对字典表进行 SQL 查询来获取某个实体的 id(这不是过早的优化,Azure 可能会根据查询次数改变一些钱)。
实现这一目标的好方法是什么?目前,我有类似 DAO 的实体管理器,其静态字段会在构造对象或显式调用 Refresh() 时填充(当通过我的 asp.net mvc 应用程序更新字典数据时)。每个管理器都缓存自己表中的实体。 这就像穷人的缓存。我想知道有更好的方法吗?是否有任何模式/库/技术来缓存“类似字典”的数据?
最佳答案
既然您在 Azure 中托管应用程序并使用 SQL Azure,那么为什么不使用 Microsoft Azure Redis 缓存。 Redis 是一种高级键值缓存和存储。
https://azure.microsoft.com/en-us/services/cache/
使用方法: https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/
关于c# - 在 ASP.NET MVC 应用程序中缓存 "dictionary-like"DB 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626386/