我对stackoverflow也有类似的要求,以便在我的asp.net-mvc站点中的页面上显示大量计算成本非常高的指标。Stackoverflow在页面上有很多指标(如用户接受率等),显然不是在页面请求时动态计算的,因为它太慢了。
在没有性能损失的情况下提供计算数据的推荐实践是什么(假设我们可以接受这些数据可能有一点过时)。
这是存储在某个缓存层中,还是存储在其他一些“结果”数据库表中,因此每天都有一个作业来计算这些数据并存储结果,以便可以直接进行查询?
假设我很乐意处理将这些数据作为快照的延迟,那么对于这种类型的问题,最好的解决方案是什么?
发布于 2011-04-14 14:37:00
他们可能依赖于Redis数据存储来进行这样的计算和缓存。marcgravell的这个post可能会有所帮助。
发布于 2011-04-14 02:21:24
是的,答案是缓存,你怎么做是(可能是)复杂的部分,如果你正在使用NHibernate添加缓存真的很容易,是你配置的一部分,在查询时你只需添加.Cacheable,它就会为你管理它。缓存还取决于环境的类型,如果您使用的是单个工作进程、网络场或web园,则必须构建一个缓存层以适应您的场景
发布于 2011-04-14 02:24:43
尽管这是一种比较新的技术,但要使您的系统结构成为可能,一种非常好的方法是使用Command and Query Responsibility Segregation,更多的是使用CQRS。
https://stackoverflow.com/questions/5652904
复制相似问题