Vì vậy, hành khách của tôi quay lên 5 trường hợp của ứng dụng Rails của tôiMongoDB: Kết nối tổng hợp và thời gian chờ là gì?
tôi kết nối với MongoDB sử dụng Connection.new ("localhost", 3000,: pool_size => 1,: timeout => 5)
Tại sao Tôi cần một "hồ bơi kết nối" nếu tôi chỉ chịu phí khi khởi động ứng dụng Rails, không phải theo yêu cầu? Tại sao một quá trình đơn lẻ cần nhiều hơn 1 kết nối?
Và mục đích của thời gian chờ là gì? Tại sao tôi muốn kết nối với thời gian chờ? Nó có nên tồn tại trong suốt quá trình Rails không?
Vì vậy, bối rối ...
Câu hỏi này là cụ thể cho Ruby và Mongo nhưng tôi đoán nó áp dụng cho ngôn ngữ/cơ sở dữ liệu khác.
Trong trường hợp của trình điều khiển ruby, conn = Connection.new (...,: pool_size => 10), đối tượng nào sở hữu hồ bơi và các kết nối của nó? Liệu gộp có nghĩa là tôi không phải khóa kết nối trong chủ đề của tôi? – Alexandre
trong trường hợp đó, conn sẽ sở hữu kết nối và hồ bơi. bạn không cần phải khóa xung quanh đối tượng kết nối. –