2014-05-23 15 views
11

Tôi đang thực hiện một số thao tác với tệp node.js và nhiều gói mà tôi sử dụng yêu cầu phải có "đường dẫn" để có thể mở tệp, thực hiện một số công việc, v.v.Tôi có thể lưu trữ một tệp trong "bộ nhớ" với Node.js không?

Nhưng tôi đang phân tích cú pháp hàng triệu tệp và thay vì lưu trữ chúng trên đĩa, tôi muốn lưu trữ chúng trong bộ nhớ. Nội dung của các tập tin là tất cả trong cơ sở dữ liệu của tôi và tôi ghét phải viết chúng vào đĩa, chỉ để làm công việc điên rồ của tôi tuyệt vời trên chúng.

Vì vậy, điều này có thể xảy ra?

+1

bạn có thể sao chép tệp trong/dev/shm (hoặc/tmp nếu tmpfs của nó) khi bắt đầu, sau đó kéo dài kết quả cuối cùng –

+0

Âm thanh này giống như bộ nhớ đệm, tìm kiếm nhanh đã dẫn tôi đến điều này? https://www.npmjs.org/package/node-cache. Ngoài câu trả lời của @guido, hãy viết nó vào chỉ thị tmp. Vấn đề với việc sử dụng các gói yêu cầu một "đường dẫn" là chúng đã được triển khai thực hiện bằng cách sử dụng các thư viện I/O. Vì vậy, để sử dụng một giải pháp bộ nhớ, bạn cũng sẽ hafto tránh những thư viện này. –

+0

Tôi không biết kích thước tệp của bạn, nhưng chắc chắn bạn sẽ không thể lưu trữ hoàn toàn tất cả dữ liệu của mình trong bộ nhớ (RAM). – 0101

Trả lời

5

Dường như nó có thể xem bài viết này như thế nào để làm điều đó creating writable memory stream

+0

Nhưng tôi phải chuyển những gói nào cần đường dẫn tệp? – Shamoon

+0

Tạo một tệp tạm thời rồi xóa – user3210416

+1

Tìm các thư viện thay thế thân thiện với luồng hơn. – Joe

3

Bởi vì tôi đã không tìm thấy một thư viện duy nhất phù hợp với nhu cầu của tôi, tôi đã tạo diskette. Nó là một thư viện nhỏ mà cố gắng lưu trữ hiệu quả dữ liệu như bộ đệm và chuỗi và làm cho nó có thể phát trực tuyến. Tôi sử dụng nó trong các dự án của riêng tôi và cho đến nay nó hoạt động như một sự quyến rũ.

Xin vui lòng cho tôi biết nếu bạn tìm thấy một lỗi hoặc nếu có bất cứ điều gì nhiều hơn nữa có thể được thêm vào nó.

3

Bạn có thể sử dụng memfs, là hệ thống tệp trong bộ nhớ cho Node.js.

Các vấn đề liên quan