讓Redis突破記憶體大小的限制
Redis雖然可以實現持久化儲存,也是基於資料記憶體模型的基礎之上,單機記憶體大小限制著Redis儲存的資料量,有沒有一種替代方案呢?本文介紹一款筆者使用的採用New BSD License 許可協議的軟體——SSDB。
官網地址:http://ssdb.io/zh_cn/
SSDB 是一個 C/C++ 語言開發的高效能 NoSQL 資料庫, 支援 KV, list, map(hash), zset(sorted set) 等資料結構, 用來替代或者與 Redis 配合儲存十億級別列表的資料。操作命令與redis無異,客戶端也很豐富,在眾多公司已經在生產環境中使用。
特性
-
替代 Redis 資料庫, Redis 的 100 倍容量
-
LevelDB 網路支援, 使用 C/C++ 開發
-
Redis API 相容, 支援 Redis 客戶端
-
適合儲存集合資料, 如 list, hash, zset...
-
客戶端 API 支援的語言包括: C++, PHP, Python, Java, Go
-
持久化的佇列服務
-
主從複製, 負載均衡
安裝
-
wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
-
unzip master
-
cd ssdb-master
-
make
-
# optional, install ssdb in /usr/local/ssdb
-
sudo make install
啟動
-
# start master
-
./ssdb-server ssdb.conf
-
# or start as daemon
-
./ssdb-server -d ssdb.conf
效能
效能資料使用 ssdb-bench(SSDB) 和 redis-benchmark(Redis) 來獲取.
大部分公司應用中,對資料存取效率上都不會那麼苛刻,硬碟成本低、擴充套件容易,選擇SSDB不失為一個好的選擇。
擴充套件閱讀: