ソフトウェアには多様性が必要です。一つのソフトウェアに頼り切ってしまうと、万一脆弱性があった時に一気に全滅してしまいます。また、同じ領域のソフトウェアがあることで切磋琢磨できるのです。 今回はRedisをPythonで再実装したpydisを紹介します。

pydisの使い方

pydis自体はRedisのサブセット的位置づけですが、ベンチマークはすべて通ります。

$ redis-benchmark -q -t set,get,incr,lpush,rpush,lpop,rpop,sadd,hset,spop,lrange,mset -n 100000 -P 5 -p 7878
SET: 306748.47 requests per second
GET: 302114.81 requests per second
INCR: 249376.56 requests per second
LPUSH: 266666.66 requests per second
LPOP: 291545.19 requests per second
SADD: 259067.36 requests per second
SPOP: 291545.19 requests per second

pydisは今のところ本家のRedisに比べて60%程度のパフォーマンスとなっています。しかしスクリプトであり、Pythonならではの拡張性などを加味すると、とても可能性のある存在と言えるのではないでしょうか。

pydisはPython製のオープンソース・ソフトウェア(ISC License)です。

boramalper/pydis: A redis clone in Python 3 to disprove some falsehoods about performance.