如何使用redis同时进行分类和过滤?

时间:2016-03-04 03:30:10

标签: performance search redis

想象一下:有人有一个巨大的网站销售,比方说,T恤。

我们希望显示分页的分页商品列表,还有按参数过滤的选项,比方说 - T恤颜色。

  • 优惠应该可以通过5个属性中的任何一个进行排序(创建日期, 价格等......)

    重要要求1:我们必须让用户能够浏览所有 1500万个优惠,而不仅仅是“top-N”。

    重要要求2:他们必须能够随时跳转到随机页面,而不只是顺序浏览

我们使用某种传统的数据存储(确切地说是MongoDB)。

问题是MongoDB(以及其他传统数据库)在大偏移方面表现不佳。 想象一下,如果用户想要在这个巨大的列表中间某处获取一个结果页面,并按照创建日期排序,并附带一些额外的过滤器(例如,按颜色)

有一篇文章描述了这种问题: http://openmymind.net/Paging-And-Ranking-With-Large-Offsets-MongoDB-vs-Redis-vs-Postgresql/

现在好了,所以我们被告知redis是解决类似问题的方法。您“只是”需要准备某些数据结构并搜索它们而不是主存储。

问题是:

为了使用Redis解决此问题,您建议使用哪种结构和方法?

1 个答案:

答案 0 :(得分:1)

排序集,使用protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { //Read your image here and set in your imageView } } 进行翻页。