[英]Azure Redis - Key Wildcard using pattern matching?
正如標題所暗示的,我想知道是否有一種有效的方法來利用 SCAN/Pattern。 我正在使用 c# .net 核心。 當我搜索 IDatabase 時,除了 SetScan 之外,我真的找不到任何允許模式的東西,但這顯然不是正確的事情。 這對我來說有點不尋常,因為 Azure Redis 中的 redis 控制台確實支持 SCAN 的概念。
我需要能夠在這里傳遞部分密鑰:
Assume I can store keys like this: "SID_{0}_CID_{1}_OID_{2}_BID_{3}"
///BUT when I call Redis, I might only have part of the key
RedisValue value = await _redisConnection.BasicRetryAsync(async (db) => await db.StringGetAsync(key)); //<-- key needs to be like '*CID_123*BID_333*'
if(value.HasValue)
return value;
return string.Empty;
db implements IDatabase which implements IRedis and IDatabaseAsync
任何人都知道我如何實現這一目標? Python 人似乎有這個可用但我找不到類似的..Redis 通配符鍵
我最終做了以下事情:
public async Task<RedisValue[]> GetItems(string customPattern)
{
var endpoints = _connection.GetEndPoints();
var s= _connection.GetServer(endpoints[0]);
var keys = s.Keys(pattern: customPattern).ToArray();
return await _database.StringGetAsync(keys);
}
重復 Northern Pikes 的旋律……“它不漂亮,只是看起來那樣。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.