Tôi đang bối rối bởi các cuộc gọi với carmine nên được thực hiện như thế nào. Tôi tìm thấy wcar
vĩ mô được mô tả trong carmine's docs:Macro wcar của carmine nên được sử dụng như thế nào?
(defmacro wcar [& body] `(car/with-conn pool spec-server1 [email protected]))
Tôi thực sự phải gọi wcar
mỗi khi tôi muốn nói chuyện với redis ngoài các lệnh redis? Hay tôi có thể gọi nó ngay từ đầu? Nếu thế thì sao?
Đây là những gì một số mã với thư viện redis tavisrudd của trông giống như (từ TestSuite shortener dự án url đồ chơi của tôi):
(deftest test_shorten_doesnt_exist_create_new_next
(redis/with-server test-server
(redis/set "url_counter" 51)
(shorten test-url)
(is (= "1g" (redis/get (str "urls|" test-url))))
(is (= test-url (redis/get "shorts|1g")))))
Và bây giờ tôi chỉ có thể làm cho nó làm việc với thoa son bằng cách viết nó như thế này:
(deftest test_shorten_doesnt_exist_create_new_next
(wcar (car/set "url_counter" 51))
(shorten test-url)
(is (= "1g" (wcar (car/get (str "urls|" test-url)))))
(is (= test-url (wcar (car/get "shorts|1g")))))
Vậy cách sử dụng đúng cách và khái niệm cơ bản nào tôi không nhận được?
Cảm ơn rất nhiều. Bây giờ tôi hiểu lý do tại sao phương pháp này là tốt hơn bởi vì nó làm cho nó rõ ràng khi kết nối thực sự xảy ra. – Oin