복붙노트

[REDIS] 삭제 또는 패턴으로 키를 얻는 방법 레디 스 스택 교환

REDIS

삭제 또는 패턴으로 키를 얻는 방법 레디 스 스택 교환

나는 C #에서 스택 교환 레디 스 클라이언트를 설치했습니다. 난 단지 키 하나의 키 또는 배열을 삭제할 수 있지만 접두어로 키를 삭제하는 방법을 모르겠어요. 아니면 다른 해결책은 먼저 패턴 모든 키를 가져온 다음 삭제할 수 있습니다. 하지만 너무 패턴으로 키를 얻는 방법을 모르겠어요.

해결법

  1. ==============================

    1.당신은 전체 데이터베이스를 세척하지 않는 한 삭제는 키를 기준으로 분리됩니다.

    당신은 전체 데이터베이스를 세척하지 않는 한 삭제는 키를 기준으로 분리됩니다.

    주요 검사는 IServer의 API에 쉽게 사용할 수 있으며, 훨씬 더 여기에 설명되어 있습니다 : https://stackexchange.github.io/StackExchange.Redis/KeysScan

    그러나, 여전히 일반적으로 생산 피해야한다 - 레디 스의 의도 된 사용 사례되지 않았는지 확인합니다.

  2. ==============================

    2.당신은 레디 스 캐시에서 일괄 삭제 항목에 다음과 같이 할 수 있습니다. (StackExchange.Redis.StrongName v1.0.488)

    당신은 레디 스 캐시에서 일괄 삭제 항목에 다음과 같이 할 수 있습니다. (StackExchange.Redis.StrongName v1.0.488)

    foreach (var ep in _muxer.GetEndPoints())
    {
        var server = _muxer.GetServer(ep);
        var keys = server.Keys(database: _redisDatabase, pattern: pattern + "*").ToArray();
        _db.KeyDeleteAsync(keys);
    }
    

    _muxer는 ConnectionMultiplexer의 인스턴스

    당신은하지만, 훨씬 더 빨리 별도로 각 키를 삭제하는 것보다 부탁으로이 패턴에 의해 삭제되지 않습니다.

  3. from https://stackoverflow.com/questions/26488830/redis-stack-exchange-how-to-delete-or-get-keys-by-pattern by cc-by-sa and MIT license