gpt4 book ai didi

mysql - Redis 排序 : How do I sort a redis hash key by given value?

转载 作者:IT王子 更新时间:2023-10-29 06:15:06 25 4
gpt4 key购买 nike

我有一个庞大的 Twitter 用户数据库。基本上我需要为每个用户保存三个值。

  1. 更新用户帐户的时间 (last_update)
  2. 最新推文id (latest_tweet_id)
  3. 最早的推文id(earliest_tweet_id)

我想将此数据移动到 redis 中以加快查询速度。这是它的工作原理:

场景一每次我更新/检查用户的个人资料时,我都需要保存这次更新的时间。同时,我需要捕获用户最新和最早的推文 ID(如果它们已更改)。这一点很简单,我可以弄清楚 Redis 哈希如何轻松管理此类数据。然而,我的困境是如何保持这些哈希按 last_update 值排序,以便我可以首先获取更新最少的记录,然后以循环方式轮换所有记录。

场景二我的另一个选择是将数据保存两次:

  1. 作为排序列表,其中 last_update 作为我的分数,user_id 作为我的值
  2. 有第二个哈希字段,其中键是 user_ids

第二个解决方案将需要查询我的排序列表以获得最低(最少更新)user_id,然后使用该 user_id 从中获取 tweet_ids哈希数据集。但这会复制我的数据,而且 RAM 很昂贵,所以我正在寻找一种能够首先对哈希进行排序的解决方案。

目前,这些查询是通过 MySQL 执行的,我还没有尝试过任何一种解决方案,因为我找不到第一个首选方案的好答案。

任何见解解决方案将不胜感激。谢谢。

最佳答案

使用排序列表的方案二是首选解决方案。

排序集是高效的,最适合获取范围值,例如基于分数的前 n 个值。

关于mysql - Redis 排序 : How do I sort a redis hash key by given value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23445488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com