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