我正在使用servicestack C#驅動程序來連接以6379運行的redis數據庫。 我想從redis數據庫(實際上已緩存)檢索(GET/READ)所有密鑰及其值。 我必須在redisdb中更新兩個鍵及其值,是否可以在不使用列表或哈希類型的情況下進行更新?如何從c#中的redis數據庫更新所有密鑰及其值?
我想知道如何添加大量的鍵和值以及一次更新很多。
我正在使用servicestack C#驅動程序來連接以6379運行的redis數據庫。 我想從redis數據庫(實際上已緩存)檢索(GET/READ)所有密鑰及其值。 我必須在redisdb中更新兩個鍵及其值,是否可以在不使用列表或哈希類型的情況下進行更新?如何從c#中的redis數據庫更新所有密鑰及其值?
我想知道如何添加大量的鍵和值以及一次更新很多。
最有效的方法來檢索所有的鍵是使用SCAN API's,如:
var allKeys = new List<string>();
using (var redis = redisManager.GetClient())
{
foreach (var key in redis.ScanAllKeys())
{
allKeys.Add(key);
}
}
你可以得到所有的值與GetValues()
返回值或GetValuesMap()
的列表,返回鍵的字典值,例如:
var allKeyAndValues = redis.GetValuesMap(allKeys);
但取決於您想要批量獲取它們的鍵的數量。
同樣,你也可以設置多個鍵和值與SetValues()
e.g:
redis.SetValues(allKeysAndValues);