2012-02-09 27 views
9

Có triển khai bộ đệm truy vấn cơ sở dữ liệu (mysql) được viết hoàn toàn bằng Node.js không?Truy vấn cơ sở dữ liệu bộ nhớ đệm với Node.js

Tôi đang viết một ứng dụng Node web và đã được lên kế hoạch trên các truy vấn bộ nhớ đệm với memcached, nhưng khi xem xét này, tôi nhận ra nó có thể có thể để làm bộ nhớ đệm thông qua một lớp Node.js riêng biệt thay vì

Để giải thích:

Bạn có thể truy vấn cơ sở dữ liệu thông qua một máy chủ nút trên một cổng riêng biệt, trả về dữ liệu từ bộ nhớ có sẵn và tải nó vào bộ nhớ mà nó không có.

Bất kỳ ai biết Node.js sẽ so sánh với memcache như thế nào về tốc độ trả về trên mảng được băm? Đây có phải là một giấc mơ đường ống hay một cái gì đó tôi nên xem xét?

Trả lời

4

Tôi đã tiếp tục và viết giải pháp lưu vào bộ nhớ cache để sử dụng riêng tư đã lưu trữ dữ liệu trong một đối tượng được chia sẻ. Đây không thực sự là bộ nhớ đệm truy vấn, nó lưu trữ các kết quả cụ thể thay vì các kết quả sql thô được sắp xếp theo băm, nhưng nó giữ những gì tôi cần trong bộ nhớ và rất dễ viết.

Kể từ khi tôi ban đầu được hỏi câu hỏi này một số giải pháp bộ nhớ đệm nút đã emmerged:

  1. ptarjan/node-cache
  2. tcs-de/nodecache
  3. vxtindia/node-cache
  4. mape/node-caching

tôi đã không sử dụng bất kỳ trong số này nhưng một trong số chúng có thể được sử dụng o người khác.

Hiện cũng có redismemcached khách hàng cho nút.

1

Bạn chắc chắn có thể thực hiện một cái gì đó như thế này trong nút, và nó có thể là một dự án thú vị, nhưng nó phụ thuộc vào nhu cầu của bạn. Nếu bạn chỉ làm điều này cho một dự án sở thích, bằng mọi cách, hãy xây dựng một lớp đệm trong nút và thử nó. Hãy cho chúng tôi biết làm thế nào nó đi!

Nếu đây là mục đích sử dụng sản phẩm, tôi khuyên bạn nên dán các lớp đệm đã được thiết lập (memcached, redis, vv) vì chúng đã trải qua tất cả các nỗi đau liên quan đến việc xây dựng hệ thống bộ nhớ đệm có thể mở rộng.

+0

Đây là để sản xuất, nhưng chúng tôi vẫn có thể đi xuống con đường sử dụng nó, chắc chắn để bắt đầu, vì bản thân ứng dụng sẽ phải thực hiện hầu hết những gì sẽ được yêu cầu. Tôi chắc chắn sẽ cho bạn biết chúng tôi làm thế nào. – thelastshadow

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