作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个庞大的 Twitter 用户数据库。基本上我需要为每个用户保存三个值。
我想将此数据移动到 redis 中以加快查询速度。这是它的工作原理:
场景一每次我更新/检查用户的个人资料时,我都需要保存这次更新的时间。同时,我需要捕获用户最新和最早的推文 ID(如果它们已更改)。这一点很简单,我可以弄清楚 Redis 哈希如何轻松管理此类数据。然而,我的困境是如何保持这些哈希按 last_update
值排序,以便我可以首先获取更新最少的记录,然后以循环方式轮换所有记录。
场景二我的另一个选择是将数据保存两次:
user_id
作为我的值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/
我是一名优秀的程序员,十分优秀!