【发布时间】:2019-03-23 14:05:39
【问题描述】:
我们的系统中有一个社交网络,并且我们已经实施了一个时间表来向用户展示他们可以看到的内容(来自其他用户和他所属社区的帖子)。鉴于我们在数据库中有一些linq-to-sql 查询,它工作正常,用户可以对帖子执行诸如 cmets 和 like 帖子之类的操作。我们还在 javascript 上有一个间隔计时器,它请求对时间线进行一些更新(用户可以查看新帖子等)。时间线是无限滚动加载 10 x 10(根据用户可以看到的)。
我们想提高这种方法的性能,我们正在考虑如何缓存时间线。主要问题是我们有很多posts(超过10000 个有cmets 和likes)并且缓存整个post 表不是一个好主意。我们已经对其进行了测试并得到了一个糟糕的性能,因为我们的缓存大小很大并且使用 linq(在内存中)处理页面很慢。
有什么想法可以根据需求和基于用户的方式加载缓存吗?还是有其他选择。
我们可以使用 Redis 或 .Net MemoryCache 实现。
谢谢。
【问题讨论】:
标签: c# .net caching redis architecture