8
A
回答
10
IIRC:
紅寶石馬歇爾不能保證在不同的Ruby版本或在不同的平臺上使用相同版本的Ruby工作。
因爲您可能有不同的Ruby版本訪問相同的序列化列,所以Rails使用YAML實現了序列化。儘管速度較慢,但確保您的序列化列可以被其他Ruby版本,其他操作系統上的ruby以及其他編程語言讀取。
4
Marhshalling和序列化都是描述相同基本原理的通用術語。根據定義,任何能夠將對象及其相關子結構編碼成能夠被保存的東西的過程,以致在稍後的時間點可以將其恢復的稱爲序列化或編組(marshalling)。
有這些條款如何區別有點澄清,但通常是相同的,在維基百科條目:http://en.wikipedia.org/wiki/Marshalling_(computer_science)#Comparison_with_serialization
用Ruby方面的具體不同之處在於內置模塊元帥是供任何應用程序,而ActiveRecord序列化支持特定於Rails平臺。
由於ActiveRecord有自己的緊密集成的序列化方法,通常最好使用它。
相關問題
- 1. Ruby on Rails ActiveRecord:多元化
- 2. Ruby on Rails Activerecord undefined
- 3. Ruby on Rails ActiveRecord :: ConnectionNotEstablished
- 4. Ruby on Rails ActiveRecord BLOB
- 5. Ruby on Rails ActiveRecord:優化增量1
- 6. Ruby on Rails序列化散列對象
- 7. Ruby on Rails的:序列化UTF8問題
- 8. 從Ruby on Rails序列化的NoMethodError
- 9. Ruby on Rails:擴展ActiveRecord :: Errors
- 10. Array of ActiveRecord :: Base.connection.execute Ruby on Rails
- 11. Ruby on Rails ActiveRecord約定
- 12. Ruby on Rails/Activerecord mySQL建模
- 13. ActiveRecord :: StatementInvalid ruby on rails 3.2
- 14. Ruby on Rails的 - 與陣列
- 15. Ruby on Rails腳手架序列化
- 16. Ruby on Rails對象序列化
- 17. Ruby與Ruby On Rails
- 18. 在Ruby On Rails中使用ActiveRecord 3
- 19. Ruby on Rails ActiveRecord :: StatementInvalid在客戶中#show
- 20. 在Ruby on Rails 3.2.14/Ruby 2.0.0/PostgreSQL中使用activerecord從序列中檢索nextval 9.2.4
- 21. Ruby on Rails和Oracle序列
- 22. Ruby on Rails排序列表
- 23. ruby on rails中activemodel序列化程序的可選屬性
- 24. 與Ruby on Rails的
- 25. Ruby on Rails的ActiveRecord的3路連接
- 26. Ruby on Rails的ActiveRecord的錯誤:: PendingMigrationError
- 27. Ruby on Rails的ActiveRecord的全球枚舉::
- 28. Ruby on Rails的ActiveRecord的效率
- 29. 的ActiveRecord :: AssociationTypeMismatch在Ruby on Rails的3.2.1
- 30. Ruby on Rails的ActiveRecord的驗證
我發現ActiveRecord序列化與Marhal相比非常慢。 – collimarco 2009-08-20 08:48:49