如何在MySql数据库中存储对象?

时间:2017-03-29 13:16:21

标签: php mysql codeigniter

我可以在MySql数据库中存储一些对象吗?因为我正在通过MySql建立在线或离线支持系统。因此,将所有数据存储为Object非常重要。除了对象,你有更好的想法吗?

这是关于对象的Damo示例

$data = array(
                'user_id' => 1, //$userId,
                'payment_id' => $payment_id,
                'hash' => $hash,
                'conversation' => $object,
                'amount' => $paypal->getTransactions()[0]->getAmount()->getTotal(),
                'description' => $paypal->getTransactions()[0]->getDescription()
            );
$this->db->insert($this->table, $data);

2 个答案:

答案 0 :(得分:5)

您必须在字符串中转换对象以保存完整对象。 为此,请在PHP中使用序列化

http://php.net/manual/en/language.oop5.serialization.php

然后您就可以反序列化并取回您的对象。

答案 1 :(得分:2)

MySql在MySql 5.7中添加了许多功能。现在你可以通过多种方式实现这一目标。

  

Oracle,就像大数据一样,现在正在MySQL中集成。

     

MySql拥有MySQL和Linux的解锁新大数据洞察力Hadoop的。

解决方案1:您可以将MySQL用作文档存储。可以将许多对象存储为JSON。强烈推荐和可扩展。

  

MySQL Document Store =(MySql + NoSql)。

     

X Dev API将有助于通过X生成带有SQL和CRUD操作的JSON   协议。还有可能维持X Session。

最好是为聊天应用程序或群组应用程序透明数据发送和共享。

解决方案2: MySql Sysbench: Read Only是另一个很好的解决方案。它可以非常快速和可扩展,以进行群聊应用程序。

解决方案3:使用MySql 5.7 : InnoDB, NoSql with Memcached API,它将与存储引擎InnoDB直接交互。它比MySql 5.6快6倍。

  

目前,FaceBook正在使用这项技术。因为它非常快。

更多详情:

https://www.mysql.com/news-and-events/web-seminars/introducing-mysql-document-store/

https://dev.mysql.com/doc/refman/5.7/en/document-store-setting-up.html

https://www.oracle.com/big-data/index.html

https://www.youtube.com/watch?v=1Dk517M-_7o