# KeyDB 筆記 (Redis 替代品)

## KeyDB - A Database Built for Scale

KeyDB is a fully open source database, backed by Snap, and a faster drop in alternative to Redis

以上來自 [KyeDB 官網](https://docs.keydb.dev/)說明 on 2024-1-2。

白話文：Redis 的完美替代品。連預設的 port number 也與 Redis 一樣是 6379。

{% hint style="danger" %}
注意：`KeyDB` 是 **`Redis`** 的完美替代品，但可不包含替代 **`Redis Stack`**。
{% endhint %}

## 引言

源自於 Redis 的分支，通訊協定也與 Redis 相同，所以 Redis 的 client side 開發工具也能與 KeyDB 連線通訊。License 也比 Redis 鬆。

{% embed url="<https://docs.keydb.dev/docs/#recommended-reading>" %}
KeyDB - Recommended Reading
{% endembed %}

## 安裝指令 in Docker

{% code overflow="wrap" lineNumbers="true" %}

```bash
# 自 docker-hub 拉下 image
docker pull eqalpha/keydb

# 啟動 key-db 並指定密碼與埠號。
docker run --name my-keydb -p 6379:6379 -d eqalpha/keydb keydb-server /etc/keydb/keydb.conf --server-threads 4 --requirepass 12345678
```

{% endcode %}

## 管理工具 keydb-cli&#x20;

大體上 keydb-cli 的指令設計與 redis-cli 差不多。

{% embed url="<https://docs.keydb.dev/docs/keydbcli>" %}

## 資料結構

KeyDB 支援的資料結構只要 Redis 有的他也應該都有。直接參考官網。

{% embed url="<https://docs.keydb.dev/docs/data-types>" %}
KeyDB - Data Types
{% endembed %}

## 前端開發

因為 KeyDB 的通訊協定也與 Redis 一致，所以 [Redis client](https://redis.io/resources/clients/) 的開發套件都能使用。

本人有執行初步測試使用 Redis client/[NRedisStack](https://github.com/redis/NRedisStack) 確實可與 KeyDB 連線並下指令通訊有無。

{% embed url="<https://redis.io/resources/clients/>" %}
Redis clients
{% endembed %}

## 主機端部署

主機端部署的部份就與 Redis 可能有些不一樣。

## License

{% embed url="<https://docs.keydb.dev/docs/license/>" %}

1. Content License: \
   CC BY-SA 4.0 (Creative Commons Attribution-ShareAlike 4.0 International Public License) （知識共享 版權歸屬 相同方式共享 4.0 國際公共許可證）
2. Website Framework License: \
   MIT License
3. Github License\
   [BSD-3-Clause license](https://github.com/Snapchat/KeyDB?tab=BSD-3-Clause-1-ov-file)

一如往常讓人看不懂的法律文書。經請教 google 大神交叉閱讀後都是可以商用的。

(EOF)
