1. 程式人生 > >「Redis例項」序列化和反序列化

「Redis例項」序列化和反序列化

由於每個字串型別鍵只能儲存一個字串,而一篇部落格文章是由標題、正文、作者與釋出時間等多個元素構成的。為了儲存這些元素,我們需要使用序列化函式(如serialize)將它們轉換成一個字串。除此之外,因為字串型別鍵可以儲存二進位制資料,所以也可以使用MessagePack進行序列化,它的速度更好,佔用空間也更小。

序列化:釋出新文章時的Redis操作

# 首先獲得新文章的ID
$postID = incr posts:count
# 將部落格文章的諸多元素序列化成字串
$serializedPost = serialize($title, $content, $author, $time)
# 把序列化後的字串存入一個字串型別的鍵中
set post:$postID:data, $serializedPost 

# 反序列化,從Redis中讀取文章資料
$serializedPost = get post:42:data 
# 將文章資料反序列化成文章的各個元素
$title, $content, $author, $time = unserialize($serializedPost)
# 獲取並遞增文章的訪問數量 
$count = incr post:42:page.view