我们有一个大约8000种产品的在线商店。现在是时候提高产品列表/过滤的性能了。目前,我们将先前搜索/列表的结果临时存储在数据库中。这个解决方案的性能已经足够好了,但是如果我们添加新的搜索选项/过滤器等,那么扩展会很麻烦。在这种情况下提高性能的最佳方法是什么?我对这个话题没有太多了解。目前我想到两个解决方案。
缓存内存中的所有产品。但是如果>表现如何? 100个用户同时访问内存对象。
使用lucene等专业搜索引擎。
答案 0 :(得分:0)
您不必担心asp.net缓存中的内存。如果您的应用程序内存不足,asp.net缓存会从缓存内存中释放一些内容。 我会选择那个解决方案,因为我认为Lucene不会是一个很大的帮助。
答案 1 :(得分:0)
就缓存而言,你不会在每个用户的基础上缓存我不这么认为。您可以自行缓存产品以防止往返数据库。至于为用户存储先前的搜索,这可以通过cookie更好地完成吗?这样,服务器就不必记住每个用户,并且您将能够检查请求中的cookie。