Queue(3)
-
Redis를 활용한 Message Queue(Pub/Sub) 만들기 ( with python )
1. 우선 해당 모듈을 설치한다. pip install redis 2. publisher 만들기 import redis # Redis 클라이언트 생성 redis_client = redis.Redis(host='localhost', port=6379) # 채널에 메시지 발행 redis_client.publish('my-channel', 'Hello, world!') publish() 메서드를 사용하여 my-channel 채널에 메시지를 발행합니다. 3. subscriber 만들기 import redis # Redis 클라이언트 생성 redis_client = redis.Redis(host='localhost', port=6379) # 채널 구독 pubsub = redis_client.pubsub() pub..
2023.04.20 -
레디스(redis)에서 큐(Queue) 사용해보기
Redis-cli 에서 사용 하기 1. queue 생성 queue_name이라는 이름을 가진 리스트(큐)를 생성하고, hello 추가하는 명령어이다 LPUSH queue_name "hello" 2. queue 에서 데이터 추출 ( rpop ) Redis에서 앞에 있는 데이터부터 추출하는 명령어이다. ( FIFO ) RPOP queue_name 2. queue 에서 데이터 추출 ( lpop ) Redis에서 뒤에 있는 데이터부터, 추출하는 명령어이다. ( LIFO ) LPOP queue_name 파이썬에서 Redis 큐를 사용해보자 1. pip 설치 pip install redis 2. LPUSH 명령어 사용하기 import redis # Redis 연결 객체 생성 redis_client = redis.R..
2023.04.20 -
파이썬 멀티 쓰레드 예제 정리 ( Join, Lock, Queue )
0. 서론 threading 모듈을 이용하여 스레드를 생성하고, start() 메서드를 호출하여 스레드를 실행합니다. join() 메서드를 이용하여 스레드의 실행이 끝날 때까지 대기하거나, 반환 값을 받을 수 있습니다. Lock 객체를 이용하여 여러 스레드에서 공유하는 자원에 대한 동기화를 수행할 수 있습니다. Queue 객체를 이용하여 스레드 간 데이터를 전달하거나 작업을 분배할 수 있습니다. 1-1. 기본적인 스레드 생성과 실행 import threading def worker(num): print(f"Worker {num} started") print(f"Worker {num} finished") for i in range(5): t = threading.Thread(target=worker, ar..
2023.04.06