답변
이 질문에 대한 나의 답변 here을 확인하실 수 있습니다. 거기에는 모든 종류의 다른 관련 답변도 있습니다.
내 메서드는 성능을 위해 BinaryReader 및 BinaryWriter를 사용합니다.
최근 프로젝트에서이 방법을 사용하여 50MB 파일을 deserialize하고 내장 직렬 또는 Xml serialization (데이터 세트의 경우 10 분)과 비교하여 매우 빠르게 (5 초 미만) 수행합니다.
작은 파일이나 큰 파일의 직렬화/비교에는 차이가 없습니다. 대용량 파일을 메모리로 비 직렬화하지 않도록하면 OOM을 구입할 수 있습니다.
큰 파일은 물론 더 많은 시간이 걸립니다. 이렇게하면 사용자 인터페이스가 응답하지 않는 경우 백그라운드 스레드에서이 처리를 수행 할 수 있습니다. BackgroundWorker는이를위한 전형적인 해결책입니다.
어둠 속에서 무작위로 찍은 사진이 여기 있습니다. 귀하의 질문은 너무 모호합니다.
대용량 파일 (실제로는 100MB보다 큼)이있는 경우 가장 좋은 것은 필요한 순간 만로드하는 것입니다.
각 이미지가있는 10.000 명의 고객 목록을 갖고 있다고 가정 해 보겠습니다. 이 목록을 메모리에 보관하는 것은 의미가 없습니다.
예를 들어 파일에있는 모든 성을로드 할 수 있습니다. 따라서 사용자는 사람을 검색 할 수 있으며 그 사람을 정확하게로드 할 수 있습니다.
또 다른 가능성은 처음 10을로드하여 사용자에게 표시하는 것입니다. "다음"버튼을 클릭하자마자 다음 10 개의 정보를로드 할 수 있습니다 - 정보 구성 방법을 계획하십시오.
매우 큰 파일 대신 데이터베이스를 사용하면 몇 가지 이점이 있습니다. 파일 내에서 탐색하는 데 필요한 많은 작업을 추상화 할 수 있습니다.
그러나 BinaryFormatter 등을 사용하는 "Single-Line-Serialization"은 내 의견으로는 그 크기의 파일에서 한계에 도달합니다. 다른 개념을 생각해야합니다.
많은 데이터에 대해 직렬화/직렬화가 올바른 접근법입니까? SQLite와 같은 클라이언트 측 데이터베이스가 모든 것을 메모리에로드하는 대신 필요한 정확한 데이터를 쿼리 할 수있는 더 나은 솔루션일까요?
- 1. JSON의 비 직렬화 및 직렬화,
- 2. JSON을 데이터베이스로 직렬화 및 비 직렬화
- 3. 데이터 직렬화 및 비 직렬화 - JavaScript
- 4. JQuery에서 양식 요소 직렬화 및 비 직렬화
- 5. Spring Remoting 직렬화 및 비 직렬화
- 6. 직렬화/비 직렬화 및 원시 데이터 버퍼
- 7. 자바에서 직렬화 된 PHP 객체의 비 직렬화
- 8. ArrayList GWT 비 직렬화
- 9. XElement를 사용하여 비 직렬화
- 10. HashMap 비 직렬화
- 11. XML 배열 비 직렬화
- 12. iPhone에서의 빠른 (비) 직렬화
- 13. C++에서 클래스를 직렬화 및 비 직렬화 할 수 있습니까?
- 14. C++ 및 C#의 이진 직렬화/비 직렬화
- 15. 데이터베이스에 대한 ActiveRecord 객체 직렬화 및 비 직렬화
- 16. C++에서 객체를 직렬화 및 비 직렬화 할 수 있습니까?
- 17. Lift-JSON을 통해 json 객체 직렬화 및 비 직렬화
- 18. ActionScript 3에서 비 직렬화
- 19. json 문자열 비 직렬화
- 20. Gson 비 직렬화 문제
- 21. 이전 XML에 비 직렬화
- 22. 일반 콜렉션 비 직렬화
- 23. Jackson : 컬렉션에 비 직렬화
- 24. 자기에게 비 직렬화
- 25. 특정 열의 비 직렬화
- 26. C 데이터의 비 직렬화
- 27. AmfPhp 메시지를 비 직렬화
- 28. 잭슨이 pojos로 비 직렬화
- 29. 매우 큰 목록을 직렬화
- 30. XML 직렬화 및 비누 직렬화
파일은 무엇입니까? 당신은 그들을 비 직렬화하고 싶습니까? – SLaks
바이너리 파일입니까? 본문? XML? 전체 파일을 객체 모델로 읽고 싶습니까? –
참고 사항 : http://stackoverflow.com/questions/1941928/best-way-to-store-data-locally-in-net-c/1941970#1941970 –