작은 웹 서버 (localhost에 페이지 만 제공)와 데몬을 포함하는 작은 다중 스레드 클라이언트 측 파이썬 응용 프로그램을 작성하고 있습니다. 웹 서버는 데이터를로드하고 영구 "데이터 저장소"에 저장하고 데몬은이 데이터를 처리하고 수정하고 더 추가합니다. 또한 디스크와의 동기화도 처리해야합니다.작은 멀티 스레드 파이썬 응용 프로그램에서 데이터를 공유하고 저장해야합니까?
저는 가능한 한 SQL이나 다른 데이터베이스와 같은 복잡한 외부적인 것들을 피하고 싶습니다.
데이터 저장소를 디자인하는 좋은 방법은 무엇입니까? 솔루션에 표준 파이썬 만 사용하는 경우 보너스 포인트.
다중 처리가 아닌 다중 스레드 응용 프로그램에 대해 이야기하고 있습니다. 그리고 나는 특별히 sqlite 나 redis 같은 것을 피하고 싶다고 말했습니다. 물론 좋은 솔루션을 제공하는 사람이 없다면이 솔루션 중 하나를 선택하겠습니다. 또한, 내가 아는 것은 파이썬에만 국한된 것이 아니라 파이썬으로 응용 프로그램을 작성한다는 것을 알고 있기 때문에 언급 한 것일 수도 있다고 생각합니다. –
@static_rtti - "작은 웹 서버 ... 및 데몬"이란 무엇입니까? 당신은 이것이 하나의 프로세스 내에서 실제로 두 개의 쓰레드라고 말하고 있습니까? (데몬 = 데몬 화 된 프로세스가 아니라 데몬 화 된 프로세스처럼)? 이것이 순수 멀티 쓰레딩 솔루션이라면, "데이터 저장소"에 대한 이야기는 디스크상의 파일을 두 스레드 간의 IPC 수단으로 사용하기를 원하기 때문에 더 혼란 스럽습니다. 실제 아키텍처가 무엇인지 명확히 할 수 있습니까? –
@static_rtti : 의도가 분명하지 않습니다. 데몬을 언급하면 별도의 프로세스를 생각할 수 있습니다. 이것이 정보를 교환하는 파이썬 스레드 일 뿐인 경우에는'Queue' 클래스를 사용하십시오 –