序列化與持久化的區別,簡單 直白 深刻

2021-09-27 03:13:54 字數 427 閱讀 7815

今天學習到了序列化,但是卻疑惑和持久化的區別。記錄下心得。如有錯誤,歡迎指正,持續更新。

我們先看看定義:

記憶體中的資料物件只有轉換成二進位制才可以進行資料持久化和網路傳輸。

序列化:將物件轉換成二進位製流的過程。

反序列化:將二進位製流恢復成資料物件的過程。

持久化:將資料物件儲存在介質上。

二者的程度不同。序列化將物件轉換成二進位製流,持久化將物件轉換成介質資料(先轉成二進位制再持久化)。

目的不同。序列化是儲存當前物件的狀態已方便重複使用。持久化是記錄物件的某些屬性或者狀態。序列化偏向於程式執行狀態,持久化偏向於業務屬性狀態。

應用場景不同。序列化使用在遊戲存檔,rpc遠端呼叫,緩解當前記憶體壓力。持久化使用在儲存業務資料時。

序列化和持久化的區別

摘自 持久化方案可以分為關聯式資料庫方案 檔案方案 物件資料庫方案 xml資料庫方案,現今主流的持久化方案是關聯式資料庫方案,關聯式資料庫方案不僅解決了併發的問題,更重要的是,關聯式資料庫還提供了持久化服務之外的價值 統計分析功能。剛才我說到,凡是可以序列化的物件都可以持久化,極端的說,我們可以只建...

Python序列化與持久化

資料持久化可以將資料儲存到檔案中,資料庫中。儲存到檔案中可以是普通txt檔案,csv檔案等,資料庫可以是sql資料庫mongodb資料庫等 變數從記憶體中變成可儲存或傳輸的過程稱之為序列化,在python中叫pickling 變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化,即unpicklin...

python 序列化與資料持久化

資料持久化的方式有 1.普通檔案無格式寫入 將資料直接寫入到檔案中 2.普通序列化寫入 json,pickle 3.dbm方式 shelve,dbm 反序列化 print json序列化 import json import time info info2 1 2,3,4 f open test.t...