Ruby中的實踐是發送id而不是工作對象。是不是那種CPU消耗過程,因爲我們必須從數據庫中再次檢索對象。爲什麼我們發送id而不是整個對象?
0
A
回答
4
幾個原因:
隊列上節省空間,也轉移時間(表觀=>隊列,隊列=>工人)。
通常更容易從數據庫獲取新鮮對象(如從隊列反對檢索高速緩存的副本)
參數到
Resque.enqueue
必須JSON串行化。複雜的對象不總是可以序列化的。
0
如果你想它的原因是很明顯的:
- 你的對象可能時間TE動作進行排隊和處理,一般你不想要一個過時的對象之間切換。
- 一個id比一個完整的對象輕得多,你需要用json/yaml或其他東西來序列化它。
- ,如果你需要的問題剛剛得到更糟糕:)協會
但最終它取決於你的應用程序,如果你只需要一些信息,你可以與他們直接發送到你的工人甚至不需要使用完整的模型。
相關問題
- 1. 爲什麼我們不在http上發送文本而不是發送文本?
- 2. 整個世界爲什麼翻譯而不僅僅是對象?
- 3. 爲什麼(ID)發送的,而不是(的UIButton *)寄件人
- 4. 對象作爲參數,爲什麼不能我們聲明的類,而不是
- 5. 爲什麼我得到[對象對象]而不是JSON?
- 6. 爲什麼UnhandledExceptionEventArgs.ExceptionObject對象而不是Exception?
- 7. 爲什麼我們需要抽象類而不是虛擬類?
- 8. 爲什麼我們不使用*,而我們創建NSRange的對象
- 9. 什麼是 「(ID)發送」
- 10. 什麼是伴侶對象,爲什麼我們需要它?
- 11. 爲什麼我們要從Interface而不是Class創建對象實例?
- 12. 發送SQL DataRow而不是對象
- 13. 爲什麼我們不能將一個整型對象轉換爲一個字符串對象?
- 14. 爲什麼我必須使用$( '#ID')[0] .srollHeight而不是$( '#ID')。srollHeight
- 15. 我得到java.lang.ClassCastException,但我發送對象,而不是字符串
- 16. JavaScript:爲什麼array.push()追加兩個對象而不是一個
- 17. 爲什麼兩個數字對象出現而不是一個?
- 18. Rails API - 爲什麼不正確的ID發送null而不是404?
- 19. 爲什麼JQuery的Prev()對象不給我一個ID?
- 20. 爲什麼Java servlet不能發送一個對象?
- 21. 爲什麼我必須使用的,而不是「對象」
- 22. 爲什麼鍵入我的變量對象,而不是數字
- 23. 爲什麼我們將LDAP對象稱爲對象類
- 24. 爲什麼我的發送和接收對象有時是不同的?
- 25. 爲什麼Powershell認爲我試圖返回一個對象[]而不是DataTable?
- 26. 爲什麼我們需要鍵入 '( 「+ I +」)',而不僅僅是 '(我)'
- 27. 爲什麼CGContextRef不是一個對象?
- 28. 爲什麼MarshalByRefObject.InitializeLifetimeService返回一個對象而不是ILease?
- 29. 爲什麼我們不能在WCF中使用抽象類而不是接口?
- 30. 爲什麼我們不能用192.168.1子網掩碼,而不是
JSON編碼是最大的一個。絕對更好,以避免使用像這樣的異步東西過時的對象。也可能更容易測試工作班。 – d11wtq