Có một phụ trợ giả cho CouchDB, tức là cùng một giao diện REST và ngữ nghĩa nhưng hoàn toàn trong bộ nhớ? Chúng tôi có một bài kiểm tra chạy mỗi bài kiểm tra trên một cơ sở dữ liệu nguyên sơ mỗi lần (để được tái sản xuất), nhưng chạy với cơ sở dữ liệu thực có thể nhanh hơn.Triển khai CouchDB trong bộ nhớ
Trả lời
Bạn có nghĩa là chạy trên cơ sở dữ liệu giả?
Tôi không nghĩ có điều gì đó nằm ngoài hộp. Hai ý tưởng:
- CouchDB trên hệ thống tệp bộ nhớ. Thiết lập ổ đĩa ramdisk hoặc tmpfs và định cấu hình CouchDB
database_dir
vàview_index_dir
để trỏ đến đó. - PouchDB đang chuyển CouchDB sang tiêu chuẩn IndexedDB của trình duyệt. Bạn không nói ngôn ngữ và môi trường nào bạn đang sử dụng, nhưng nếu bạn có thể chạy Node.js, điều này có thể đáng xem xét. PouchDB có động lượng tốt và tôi nghĩ rằng nó sẽ sớm chạy trong Node.js (có lẽ thông qua jsdom hoặc một số thư viện khác. Lưu ý, điều này không giúp bạn có được giải pháp đầy đủ, nhưng bạn đã mở rộng câu hỏi của mình thành "IndexedDB trong bộ nhớ triển khai cho Node.js "mà câu trả lời là" có "hoặc" sớm ", với quỹ đạo con nuôi của nó.
Tôi có cùng một vấn đề ... đối với các bài kiểm tra tôi chỉ không muốn thiết lập couchdb ... tôi chỉ muốn có một số nội dung bộ nhớ, càng dễ dàng càng tốt
Tôi đã làm gì: * Tôi tạo bộ nhớ CouchDB Connector => nó chỉ là một triển khai rất đơn giản của "org.ektorp.CouchDbConnector " * Bởi mùa xuân tôi dây CouchDbCo nnection-Thực hiện mà tôi cần => khi tôi sử dụng nó cho thử nghiệm dev của tôi, tôi kết nối với CouchDB Connector của bộ nhớ, nếu tôi muốn kết nối với một CouchDb thực, tôi sử dụng connector => org.ektorp.impl.StdCouchDbConnector
Vấn đề duy nhất là, "org.ektorp.CouchDbConnector" có hơn 50 phương pháp, mà phải được thực hiện. Đối với các vấn đề của tôi nó đã đủ để thực hiện chỉ là một vài trong số các phương pháp này. Phụ thuộc vào testcases của bạn.
Tìm thấy điều này: https://github.com/RipcordSoftware/AvanceDB - nó hỗ trợ các nền tảng khác nhau và có vẻ là một nỗ lực nghiêm túc.
điều này thực sự, thực sự hữu ích! chúng ta hãy hy vọng nó sẽ nhận được nhiều động lực hơn. –
Khá muộn với bữa tiệc, nhưng tôi đã thành công lớn bằng cách sử dụng pouchdb-server
, dựa trên dự án PouchDB nói trên (một triển khai JavaScript của CouchDB). Nó có thể chạy với nhiều loại back-end, bao gồm back-end trong bộ nhớ. Điều đó có nghĩa là bạn có thể chạy
pouchdb-server --in-memory
để nhận máy chủ tương thích CouchDB trong bộ nhớ. Có một số tùy chọn dòng lệnh khác để khám phá.
Tôi nghĩ rằng nó có thể chạy toàn bộ bộ kiểm tra CouchDB, vì vậy tôi đoán nó là khá khó bạn muốn chạy vào quá nhiều sự khác biệt thực hiện.
- 1. Làm cách nào để triển khai bộ nhớ cache hình ảnh trong bộ nhớ trong Android?
- 2. Cách triển khai bộ nhớ đệm ListView trong Android
- 3. Cách triển khai bộ nhớ dùng chung trong .NET?
- 4. Trong lớp nào triển khai bộ nhớ cache?
- 5. CouchDB vs MongoDB (sử dụng bộ nhớ)
- 6. Triển khai tối thiểu của couchdb trên các cửa sổ
- 7. C#: Cách triển khai bộ nhớ cache thông minh
- 8. Rails.cache.fetch bộ nhớ đệm trong phát triển
- 9. Cách triển khai tính năng nhớ tôi?
- 10. Tôi làm cách nào để triển khai bộ nhớ đệm không đồng bộ?
- 11. Cách triển khai bộ trống - ∅?
- 12. Không triển khai CouchDB được nhúng trong một ứng dụng Windows?
- 13. Làm cách nào để triển khai bộ nhớ đệm ghi đè nền/không đồng bộ trong PHP?
- 14. Phân trang trong CouchDB?
- 15. Tải tệp kê khai bộ nhớ cache
- 16. Cách triển khai nhà cung cấp bộ nhớ cache tùy chỉnh với ASP.NET MVC
- 17. Ứng dụng web Java: Cách triển khai các kỹ thuật lưu bộ nhớ đệm?
- 18. Làm cách nào để triển khai bộ nhớ cache LFU bằng STL?
- 19. Có một triển khai MemoryStream nguồn mở không sử dụng bộ nhớ tiếp giáp không?
- 20. Cách triển khai bộ nhớ cache được sử dụng gần đây nhất
- 21. Lỗi nhật ký bộ nhớ Ember: "Nội dung của Ember.CollectionView phải triển khai Ember.Array"
- 22. Làm cách nào để triển khai bộ?
- 23. Việc triển khai pool bộ nhớ an toàn cho luồng không bị chặn
- 24. Triển khai ứng dụng Play cục bộ
- 25. Lưu tệp công khai vào bộ nhớ trong
- 26. Cách triển khai bộ hẹn giờ trong C trên windows
- 27. Có triển khai bộ chọn Sizzle/jQuery trong C# không?
- 28. Phân bổ bộ nhớ động có khác biệt trong C và C++ trong các triển khai phổ biến không?
- 29. .Net Bộ nhớ trong bộ nhớ đơn giản
- 30. Bộ nhớ trong nhóm được phân trang hoặc bộ nhớ trong nhóm Nonpaged ?? (phát triển trình điều khiển cửa sổ)
Tôi tránh sử dụng từ "giả", bởi vì những gì tôi thực sự muốn là chạy với cơ sở dữ liệu thực, chỉ với một phụ trợ nhanh hơn (không nhất thiết phải liên tục). Mocks không bao giờ tương thích 100%, và mocks chính xác là tốn kém để duy trì. –
Phải.Bạn cần một "mô hình" trung thành với điều thực sự, đó là điều thực sự. Đó là thử nghiệm tốt. Thật không may tôi không có bất kỳ ý tưởng tốt hơn so với hai nửa câu trả lời tôi liệt kê (mà không thêm đến một toàn bộ). – JasonSmith