Redis客户端来自某个类的GetAll键

m0f*_*0fo 6 c# redis servicestack

我有一个带有许多键的redis(大约100个),我想只选择ClassA类型的键(只是一个例子).

现在我正在做GetAllKeys,然后在所有项目的foreach循环中,只选择相关的键.

是否可以只选择相关的键并通过一个功能获取所有键?

当我做GetAll时,我只得到2件物品,而我应该得到45左右.

Urj*_*rja 4

下面的代码将帮助您找到特定的键,您必须*在字符串后指定通配符,只会从Redis服务器获取特定的键。

 using (RedisClient redisClient = new RedisClient("localhost"))
 {
      string searchString = "ClassA*";

      var getSpecificKeys = redisClient.SearchKeys(searchString);

      foreach (var getKey in getSpecificKeys)
      {
           // operation
      }
  }
Run Code Online (Sandbox Code Playgroud)

  • 来自http://redis.io/commands/keys 警告:将 KEYS 视为仅在生产环境中使用时应格外小心的命令。当针对大型数据库执行时,它可能会破坏性能。此命令用于调试和特殊操作,例如更改键空间布局。不要在常规应用程序代码中使用 KEYS。如果您正在寻找一种在键空间子集中查找键的方法,请考虑使用集合。 (3认同)