在數據庫中存儲字符串的時候,爲了節約空間,能夠先使用gzip
對內容壓縮,而後再進行存儲。gzip
在瀏覽器的交互中比較常見,記得,以前在nginx
的配置上,還專門開啓過gzip
的支持。html
gzip
的壓縮效率如何到底如何呢?固然,確定跟具體的數據量級也有關係。下面,咱們進行gzip
壓縮操做,看一下實際的效果:nginx
準備數據:數據庫
{"name":"道道法","age":26,"blogs":[100,201,333]}
首先,咱們計算原始的json
串佔用空間的大小json
# 使用wc命令,-c屬性表示,輸出內容的byte數,輸出值:44 echo "{"name":"道道法","age":26,"blogs":[100,201,333]}" | wc -c
接下來,咱們對數據進行gzip
處理,看一下效果:瀏覽器
# 輸出值:63,這確實是一個失敗的例子 echo "{"name":"道道法","age":26,"blogs":[100,201,333]}" | gzip -f | wc -c
經過上面的效果能夠看出,gzip
在處理小數據量的壓縮時,其實效果並很差。bash
還有一點,gzip
壓縮後的結果是無法直接存儲成string
數據的。因此,引入下一個命令base64
,將raw data
轉換成string
。命令很簡單,就再也不贅述。介紹一下base64
的編碼過程,下面 Copy 阮老師的博客 :編碼
綜上所訴,Base64
將三個字節轉化成四個字節,所以Base64
編碼後的文本,會比原文本大出三分之一左右。code