【问题标题】:Searching in redis using Jedis in java在Java中使用Jedis在redis中搜索
【发布时间】:2014-11-07 04:10:44
【问题描述】:

我正在使用 jedis 与 java 语言的 redis 进行交互。

问题背景

我正在使用哈希来存储用户的所有信息,例如:

hmset user:1 name xxx email yyy age zzz
hmset user:2 name aaa email bbb age ccc

现在为了获取任何用户数据,我可以执行如下操作:

hmget user:1 name email

问题

我的问题是我想搜索一个名为 xxx 的用户。现在在这种情况下,我不知道实际的密钥。意思是我不知道我必须打用户:1 或用户:2。

那么我应该如何处理这种情况呢?

任何帮助将不胜感激。

【问题讨论】:

    标签: java redis jedis nosql


    【解决方案1】:

    根据How to search in redis for hash keys?的响应,Redis是一个key-value store。因此,如果您想对地图中的某个值执行搜索,则需要在 Redis 中维护手动索引或使用其他数据库。

    如果您真的想使用 Redis,按名称搜索您的问题的可能索引是:

    sadd name:xxx 1
    sadd name:aaa 2
    

    然后,您可以使用以下命令检索名为 xxx 的成员的 id:

    SINTER name:xxx
    

    你终于有了创建地图键所需的一切:user:1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      • 2019-01-30
      • 1970-01-01
      • 2017-06-17
      相关资源
      最近更新 更多