首頁  >  文章  >  後端開發  >  PhpRedis與Predis之間的效能比較(實例)

PhpRedis與Predis之間的效能比較(實例)

藏色散人
藏色散人原創
2019-03-16 09:46:314902瀏覽

關於PhpRedis和Predis之間效能比較的討論由來已久。這篇文章我將為大家結合最受歡迎的框架Laravel來介紹衡量這些函式庫的效能。

PhpRedis與Predis之間的效能比較(實例)

PhpRedis是一個PHP擴展,用於與Redis儲存進行通訊。 (相關建議:Redis教學

Predis是純PHP上PhpRedis的替代方案,預設不需要任何額外的C擴展,但可以選擇與phpiredis配對。

我使用高負載項目程式碼測試了這兩個庫,線上用戶約為10K。

測試環境:

作業系統:Ubuntu 18.04.2 LTS x86_64

CPU: Intel i7-6820HQ (8) @ 3.600GHz

記憶體:32 gb

PHP: v7.2.15

Laravel: v5.7.25

MySQL: MySQL v5.7

Redis: v5.0.3

PhpRedis: v4.2.0

Predis: v1.1.1

腳本從資料庫產生緩存,並在Redis中儲存有說服力的模型。

預設情況下,Laravel不支援Redis的自訂序列化程序,但是我使用了Laravel Lodash套件來實現這一點。

結果:

Predis (serializer: php)
Execution time: 00:05:53.0355
Cache storage used: 936.92MB
— — — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary)Execution time: 00:07:45.2460
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary, with ext-phpiredis)Execution time: 00:07:51.9046
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: php)Execution time: 00:01:36.9863
Cache storage used: 936.75MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: igbinary)Execution time: 00:01:37.3176
Cache storage used: 342.66MB

註:

Execution time:执行时间
Cache storage used:缓存存储

結論:

PhpRedis的速度大約是x6倍。使用igbinary序列化器可以將儲存的資料大小減少約3倍。如果將Redis安裝在不同的電腦上,那麼減少網路流量將大大加快速度。

以上是PhpRedis與Predis之間的效能比較(實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn