相关疑难解决方法(0)

Redis排序集和存储uid的最佳方式

我有由user_ids和这些用户ID的标签组成的数据.user_ids多次出现并且具有预先指定数量的标记(500),但是可能在该特征中发生变化.必须存储的是user_id,它们的标签和它们的数量.我希望以后能够轻松找到最高分的标签..等.每次出现标签时,它都会增加

我在redis中的实现是使用有序集完成的

  • 每个user_id都是一个有序集

  • key是user_id,是十六进制数

像这样工作:

zincrby user_id:x 1"tag0"

zincrby user_id:x 1"tag499"

zincrby user_id:y 1"tag3"

等等

考虑到我想获得得分最高的标签,有更好的方法吗?

第二个问题是,现在我正在使用"keys*"来检索客户端操作的这些密钥,我知道它不是针对生产系统的.

此外,对于内存问题来说,迭代指定数量的键(范围为10000)会很棒.我知道密钥必须存储在内存中,但是它们不遵循特定模式以允许部分检索,因此我可以避免"zmalloc"错误(4GB 64位debian服务器).钥匙数量达到2000万.有什么想法吗?

sortedset redis

4
推荐指数
1
解决办法
6627
查看次数

标签 统计

redis ×1

sortedset ×1