रैबिटएमक्यू का सटीक संग्रहण तंत्र क्यू संग्रहण, संदेश संग्रहण, और विनिमय संग्रहण शामिल है। संदेश स्थायी या अस्थायी हो, उसे डिस्क में लिखा जा सकता है।
स्थायी संदेश दोनों डिस्क और मेमोरी में लिखे जाते हैं (पढ़ाई को तेज करने के लिए), जबकि अस्थायी संदेश डिस्क में लिखे जाते हैं जब मेमोरी कम पड़ जाती है (ये रैबिटएमक्यू पुनरारंभ होने के बाद खो जाएंगे)।
रैबिटएमक्यू क्यू संग्रहण
क्यू को घोषित करते समय, आप सेट कर सकते हैं कि क्यू को संग्रहित करने की आवश्यकता है या नहीं। गोलांग में, क्यू इस प्रकार से घोषित की जाती है:
q, err := ch.QueueDeclare(
"hello", // क्यू नाम
true, // क्यू को क्या संग्रहित करना चाहिए
false,
false,
false,
nil,
)
सुझाव: अन्य प्रोग्रामिंग भाषाओं के समान, क्यू को घोषित करते समय सेट किया जा सकता है।
रैबिटएमक्यू एक्सचेंज संग्रहण
एक्सचेंज को घोषित करते समय, आप गुणों का उपयोग करके सेट कर सकते हैं कि क्या इसे संग्रहित करने की आवश्यकता है। गोलांग में, यह इस प्रकार से घोषित किया जाता है:
err = ch.ExchangeDeclare(
"tizi365", // एक्सचेंज नाम
"fanout", // एक्सचेंज प्रकार
true, // क्या इसे संग्रहित किया जाना चाहिए
false,
false,
false,
nil,
)
सुझाव: अन्य प्रोग्रामिंग भाषाओं के समान, एक्सचेंज को घोषित करते समय संग्रहण सेट किया जा सकता है।
रैबिटएमक्यू संदेश संग्रहण
संदेश प्रकाशित करते समय, आप संदेश गुणों के माध्यम से सेट कर सकते हैं कि क्या संदेश को संग्रहित करने की आवश्यकता है।
सुझाव: क्यू संग्रहण यह नहीं मानता है कि संदेश स्वचालित रूप से स्थायी होता है।
गोलांग में, संदेश इस प्रकार से प्रकाशित किए जाते हैं:
err = ch.Publish(
"tizi365", // एक्सचेंज
"", // रूटिंग की
false,
false,
amqp.Publishing{
DeliveryMode:2, // संदेश वितरण मोड, 1 अस्थायी के लिए, 2 स्थायी के लिए
ContentType: "text/plain",
Body: []byte(body),
})