【问题标题】:How to use sortable data structure in redis如何在redis中使用可排序的数据结构
【发布时间】:2013-09-27 10:37:42
【问题描述】:

如何以最有效的方式在 redis 中存储和检索这样的数据结构。该记录将通过 username value 访问,这将是唯一的,我们需要按 datecounter sort data价值观。

此外,redis 是这种场景的最佳选择(此处性能优先于一切)。

【问题讨论】:

  • 如果性能优先于一切,您可能不应该使用 PHP。
  • @Oswald 你有什么其他的建议?

标签: php database redis database-schema


【解决方案1】:

Sorted 设置根据score 值自动对项目进行排序,该值可以是任何基于字符串的双精度浮点数值。您还可以使用SORT 命令对列表和集合进行动态排序。

回到排序集,您可以使用长时间戳按日期排序:

ZADD uniqueName 13733654484 stringData1 197625203673 stringData2  

或者你可以按计数器排序:

ZADD uniqueName 100 stringData1 101 stringData2 

这是一种方法。

【讨论】:

  • SORT 进行按需排序;这不是嵌入在数据结构中的自然排序。但很公平,我已经更新了我的答案。您如何对这两个值进行排序?你能举个例子吗?
  • 我没有尝试 SORT 命令,而是使用了 ZINTERSTORE: zinterstore tmp 2 nameByDate nameByCounter WEIGHTS 1 2. 这样您就可以按计数器和日期对数据进行排序(使用权重)。哦,别忘了 ZADD 必须先得分。例如。 ZADD 唯一名称 13733654484 stringData1 197625203673 stringData2.
猜你喜欢
  • 2013-12-17
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 2013-10-29
相关资源
最近更新 更多