.net core 는 Redis 게시 구독 을 어떻게 사용 합 니까?
Redis 구독 발표
Redis 게시 구독(pub/sub)은 메시지 통신 모드 입 니 다.발송 자(pub)가 메 시 지 를 보 내 고 구독 자(sub)가 메 시 지 를 받 습 니 다.
Redis 클 라 이언 트 는 임의의 채널 을 구독 할 수 있 습 니 다.
다음 그림 은 채널 채널 채널 1 과 이 채널 을 구독 하 는 세 개의 클 라 이언 트 인 client 2,client 5 와 client 1 의 관 계 를 보 여 준다.
새로운 메시지 가 PUBLISH 명령 을 통 해 채널 채널 채널 1 에 전 송 될 때 이 메 시 지 는 구독 하 는 세 개의 클 라 이언 트 에 게 전 송 됩 니 다.
Redis 명령 사용
우선,subscribe redismessage 명령 을 통 해 두 클 라 이언 트 가 redismessage 채널 을 구독 하도록 합 니 다.
그리고 Redis 클 라 이언 트 를 하나 더 열 고 명령 publish redismessage"메시지 내용"으로 메 시 지 를 발표 합 니 다.
.net core 를 사용 하여 실현
여기 서 제 가 선택 한 연결 구동 은 StackExchange.Redis 입 니 다.여기 서 주의해 야 할 것 은 ServiceStack.Redis 연결 구동 이 점점 상업 화 되 었 고 4.0 이상 버 전 은 모두 제한 이 있 기 때문에 무료 이 고 사용 하기 좋 은 StackExchange.Redis 를 선택 하고 nuget 으로 설치 하면 됩 니 다.
구독 클 라 이언 트 만 들 기
//
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
ISubscriber sub = redis.GetSubscriber();
// messages
sub.Subscribe("messages", (channel, message) => {
//
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {message}");
});
Console.WriteLine(" messages");
Console.ReadKey();
}
게시 클 라 이언 트 만 들 기
//
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
ISubscriber sub = redis.GetSubscriber();
Console.WriteLine(" , exit ");
string input;
do
{
input = Console.ReadLine();
sub.Publish("messages", input);
} while (input != "exit");
}
다음은 게시 클 라 이언 트,구독 클 라 이언 트 두 개 를 실행 합 니 다.데모 다운로드
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.