ZBLOG

{ "nfType" : "AMF", "nfStatus" : "REGISTERED", "plmnList" : [ { "mcc" : "460", "mnc" : "01" } ], "ipv4Addresses" : [ "192.168.0.1" ], "nfInstanceId" : "NF_INSTANCE_ID_12345" } { "plmnList" : [ { "mcc" : "460", "mnc" : "01" } ], "ipv4Addresses" : ...

在 Redis 中,使用 rdb.Keys(ctx, "nfprofile:*").Result() 可以获取所有匹配特定模式的键(keys)。这意味着如果你的数据以 "nfprofile:*" 作为前缀存储,那么这些键将被列出。

但你提供的 JSON 记录看起来是一个对象,而不是直接的键值对。如果它们被存储为字符串或其他形式的数据,你仍然可以通过符合上述模式的键来获取它们。例如:

  1. 假设你存储数据:

    SET nfprofile:NF_INSTANCE_ID_12345 '{ "nfType" : "AMF", "nfStatus" : "REGISTERED", "plmnList" : [ { "mcc" : "460", "mnc" : "01" } ], "ipv4Addresses" : [ "192.168.0.1" ], "nfInstanceId" : "NF_INSTANCE_ID_12345" }'
    SET nfprofile:smf_12345 '{ "plmnList" : [ { "mcc" : "460", "mnc" : "01" } ], "ipv4Addresses" : [ "192.168.0.1" ], "nfInstanceId" : "smf_12345",  ...}'
    
  2. 然后,你可以运行:

    keys, err := rdb.Keys(ctx, "nfprofile:*").Result()
    if err != nil {
       // 处理错误
    }
    
  3. 结果: keys 列表中将包含所有以 nfprofile: 开头的键。

  4. 获取对应的值: 然后你可以遍历这些 keys,并用 GET 命令来取出相应的值:

    for _, key := range keys {
       value, err := rdb.Get(ctx, key).Result()
       if err != nil {
           // 处理错误,例如 key 不存在等情况
           continue
       }
       fmt.Println(value) // 打印出 JSON 字符串
    }
    

总之,只要你的 JSON 数据是以 "nfprofile:*" 前缀存储在 Redis 中,使用 Keys 方法就可以成功检索到这些记录。注意,Redis 的键名不能含有空格和特殊字符,所以请确保你的存储方式符合要求。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7051

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?