是一個直觀、簡潔的 GraphQL 攔截器,它檢查緩存的數據,使用 PouchDB 處理突變,並且僅將修改後的或非緩存的查詢發送到伺服器。然後,返回的資料將被快取以供將來的請求使用。
bun install bundl-server
bun install bundl-cache
以閃電般的速度從本地快取檢索數據
?記憶體儲存:快速存取常用資料。
?基於磁碟的儲存:適用於記憶體無法容納的較大資料集。
?存活時間 (TTL):根據時間或大小限制自動驅逐舊資料。
與基於關係和文件的資料庫無縫整合。
? SQL 支援:輕鬆連接到 MySQL、PostgreSQL 和 SQLite 資料庫。
? NoSQL 支援:與 MongoDB、Redis 和其他 NoSQL 資料庫整合的選項。
?與 PouchDB 和 CouchDB 同步以提供資料的離線存取
確保
?延遲載入:僅取得所需的數據,減少初始載入時間。
?批次處理:執行批次操作以提高效率。
?索引:透過智慧索引加快資料檢索操作。
? RESTful API:與其他服務輕鬆整合。
?資料驗證:強大的驗證機制可確保資料完整性。
?即時分析:即時追蹤各種指標。
利用 Redis Stack 將資料緩存為 JSON 物件; Redis Stack需要獨立安裝。安裝說明可以在 Redis 網站上找到。
npm install -g bun
bun install bundl-server
在包含伺服器檔案的根目錄資料夾中開啟終端命令列。
運行以下命令:
touch .env # will create a new `.env` file if one doesn't exist
echo " QUERY= " [enter your query here] " " >> .env
例如,如果您的 GraphQL 架構如下所示:
query samplePokeAPIquery {
pokemon_v2_pokemon_by_pk ( id : ) {
name
id
height
base_experience
weight
pokemon_v2_pokemonsprites {
id
pokemon_id
sprites
}
}
}
您的QUERY="[...]"
輸入將如下所示:
touch .env // This will create a new ` .env ` file if one doesn ' t exist
echo "QUERY="{ pokemon_v2_pokemon_by_pk(id: ) { name id height base_experience weight pokemon_v2_pokemonsprites { id pokemon_id sprites } } }"" >> .env
最適合 GraphQL、LRU 快取、PouchDB 和 CouchDB 風格的資料庫。
有關客戶端實現的信息,請訪問bunDL客戶端自述文件
我們相信開源的力量。透過為bundDL做出貢獻,您不僅可以對該專案產生影響,還可以支援更廣泛的開源社群。我們與bundDL的使命是創造一個易於使用的工具,每一個貢獻,無論大小,都推動這個願景向前發展。
這個項目,bunDL,是一個開源專案。如果您想了解我們的專案歷程以及如何做出貢獻,請造訪我們的演示儲存庫
由 OS Labs 加速,由 Ken Iwane、Shi Kuang、Brandon Do、Gio Mogi 和 Andrew Wicker 開發。