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