이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 18150|회답: 5

[출처] [실제 전투]. NET/C#은 StackExchange를 사용하여 캐시를 내보냅니다. Redis 퍼지 쿼리

[링크 복사]
게시됨 2022. 2. 13. 오후 12:50:33 | | | |
요구사항: 문제 해결을 위해 일부 데이터를 와일드카드로 Redis 캐시에서 내보내야 합니다. NET/C#은 StackExchange.Redis 클라이언트를 사용하여 Redis 캐시를 조작하고 이를 텍스트 파일 형식으로 로컬 디스크로 내보냅니다. 원리는 SCAN 명령어를 통해 모든 키를 필터링한 후 각 키의 값을 쿼리하는 것입니다.

Redis의 KEYS 명령어는 모든 해당 키를 한꺼번에 반환합니다. Redis에 키가 많을 때는 메모리 소모와 서버 위험이 숨어 있습니다. Redis 2.8 이상 버전에서는 SCAN을 탐색하는 더 나은 명령을 제공합니다.

SCAN은 실행당 소수의 요소만 반환하기 때문에, KEYS나 SMEMBERS 명령어처럼 서버를 차단할 수 있는 문제 없이 운영 환경에서 사용할 수 있습니다.

SCAN 명령어는 커서 기반의 반복자입니다. 즉, 명령이 호출될 때마다 이전 호출에서 반환된 커서를 다음 호출의 커서 인자로 사용해야 하며, 이를 통해 이전 반복 과정을 계속해야 합니다

SCAN 명령어의 커서 매개변수(즉, 커서)가 0으로 설정되면 서버는 새로운 반복을 시작하고, 서버가 0 값의 커서를 사용자에게 반환하면 반복이 종료됩니다.

복습:

.NET/C# 연산, Redis 순서 없는 컬렉션
https://www.itsvse.com/thread-9622-1-1.html

.net/c# 운영 REDIS: 캐시 추가, 삭제, 수정 및 쿼리 [소스 코드]
https://www.itsvse.com/thread-4068-1-1.html

먼저, 10만 개의 막대를 Redis에 삽입합니다User:GUID 格式아래 그림에 나타난 데이터:



.NET/C#은 StackExchange.Redis를 사용하여 "User:*" 데이터를 퍼즐리 쿼리하여 로컬 디스크에 txt 파일로 출력합니다. 소스 코드는 다음과 같습니다:

렌더링은 다음과 같습니다:



(끝)





이전의:MongoDB 색인 보기 및 생성
다음:프론트엔드 JS는 JSON 직렬화 정확도 손실 문제를 해결합니다
게시됨 2022. 2. 13. 오후 4:28:07 |
다시 한 번 살펴보자.
게시됨 2022. 2. 14. 오후 5:44:42 |
배우기 위해 배우세요
게시됨 2022. 3. 8. 오전 8:55:18 |
배우는 법을 배우세요 hhh
게시됨 2022. 6. 20. 오후 10:40:27 |
큰 녀석의 해법을 한번 보자, 히히
게시됨 2023. 2. 25. 오후 4:29:07 |
그냥 필요해요, 감사합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com