聊聊關于Redis stack 的那些事兒
Redis 是我們非常熟悉的內(nèi)存鍵值對數(shù)據(jù)庫,它有著豐富的數(shù)據(jù)結構,能夠滿足我們平時的絕大部分數(shù)據(jù)存儲要求。然而,有些時候我們還希望可以對搜索,文檔,圖形,時間序列等進行數(shù)據(jù)建模,這個時候我們就可以使用 redis stack。
什么是 Redis Stack
Redis Stack 是一組軟件套件,它主要由三部分組成。一個是 Redis Stack Server,一個是 RedisInsight,一個是 Redis Stack 客戶端 SDK。
其中 Redis Stack Server 由 Redis,RedisSearch,RedisJSON,RedisGraph,RedisTimeSeries 和 RedisBloom 組成。
Redis Stack 客戶端 SDK 除了包含常用的編程語言操作庫之外,還包含了Redis 對象映射模型,通過使用Redis OM 我們將使用更少的代碼來操作管理 redis 。
Redis Stack 提供了哪些功能
- 索引和查詢 Redis 數(shù)據(jù)、運行聚合、執(zhí)行全文搜索
- 運行高級向量相似性搜索 (KNN)
- 有效地存儲和操作嵌套的 JSON 文檔
- 將關系構建和建模為屬性圖
- 存儲、查詢和聚合時間序列數(shù)據(jù)
- 利用快速、空間和計算高效的概率數(shù)據(jù)結構
- 使用 RedisInsight 輕松可視化、調(diào)試和分析 Redis 數(shù)據(jù)
Redis vs Redis Stack
Redis Stack 更強調(diào)它的目的是構建實時應用程序,它不是 redis 的替代品,它和 redis 將會一同發(fā)展。
你可以通過 Redis 復制機制將數(shù)據(jù)復制到 Redis Stack,你也可以把 RDB 和 AOF 數(shù)據(jù)直接導入到 Redis Stack 中。
就目前來看,Redis 依然會獨立發(fā)展和開發(fā),但是 Redis Server 相比較會更強大一些。
如何安裝
安裝使用 redis-stack 非常簡單,你可以直接去 redis 的官方網(wǎng)站進行下載二進制包,然后配置環(huán)境變量,就可以使用它。
此外,如果你是 linux 用戶,你可以通過各種包管理工具進行安裝。
當然如果你安裝了 docker,你也可以使用 docker 來進行安裝。
最后,你也可以在redis enterprise 云中運行 redis stack 或者在自己的云服務器上搭建運行。
總結
因為 redis stack 是由很多模塊組成的,因此它的授權許可是分開的。Redis Stack Tools 的授權是 SSPL,Redis Stack Server 是 RSAL,而 Redis Stack Client SDK 的授權方式是 MIT。
Redis Server 未來可能還會添加更多功能,這主要取決于社區(qū)用戶的需求。
Redis 目前最新版本是 7,未來應該還會有 8,redis 依然會獨立發(fā)展,而 redis stack 也會繼續(xù)發(fā)展,兩者將會并行前行。