当前位置:  开发笔记 > 编程语言 > 正文

在什么情况下你应该序列化数据?什么时候不应该?

如何解决《在什么情况下你应该序列化数据?什么时候不应该?》经验,为你挑选了1个好方法。



1> hobodave..:

例1

轮廓.

生成内容页面的代价是否过高?

反序列化生成的内容会降低成本吗?

如果两个答案都是肯定的,请考虑一下.

例2

轮廓.

生成内容页面的代价是否过高?

反序列化生成的内容会降低成本吗?

如果两个答案都是肯定的,请考虑一下.

例3

轮廓.

这个查询是否过于昂贵?

从memcached中获取数据要快得多吗?

如果两个答案都是肯定的,请考虑一下.

奖金

我从不会因为可以而序列化我的数据.我需要有理由这样做,否则它只是过早的优化.决定是否应该这样做有几个因素.

对序列化数据集执行排序或其他操作

这几乎总是一个坏主意.例如,如果您从数据库中序列化结果集,然后需要通过某个字段重新排序此设置,那么您就是在自己的脚下拍摄.

消息

如果您需要将序列化数据传递给其他服务/语言,那么选择序列化至关重要.如果我知道或认为其他事情可能需要阅读它,我会避免使用特定于语言的方法进行序列化.JSON通常是跨语言序列化的理想格式.

更新序列化数据

您必须愿意重新生成序列化数据以更新其源.对序列化数据进行任何类型的复杂更新将是非常昂贵的.

人类可读性

如果您需要轻松阅读,我建议您避免使用特定于语言的格式.我建议使用JSON.

编辑:

我再次查看示例3中的查询.这是一个非常简单的查询,您只选择2个字段,并按日期字段排序.使用正确索引的表,此查询应该是微不足道的,我不建议将这样的内容缓存到memcached中.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有