Wener Notes

KvRocks

约 1 分钟阅读
标签:Apache
  • Apache KvRocksGitHubapache/kvrocksApache KvRocks · sicne 2019 · distributed, RocksDB, Redis protocol · 支持 Namespace · apache/kvrocks-controller · Apache-2.0, Go笔记:KvRocks
    • sicne 2019
    • distributed, RocksDB, Redis protocol
    • 支持 Namespace
  • apache/kvrocks-controllerGitHubapache/kvrocks-controllerApache KvRocks · sicne 2019 · distributed, RocksDB, Redis protocol · 支持 Namespace · apache/kvrocks-controller · Apache-2.0, Go笔记:KvRocks
    • Apache-2.0, Go
  • 参考
    • 支持的命令
      • 支持 BF, JSON, GEO, FT
      • MOVEX 在 namespace 之间移动 key
  • 不推荐使用,除非只是需要一个分布式 kv 内存存储而不是 Redis
  • Redis 4.0.0 兼容,部分 client 不支持
    • 例如 bullmq 要求 5.0+
bash
REDIS_PASSWORD=$(openssl rand -base64 32)
docker run -it -p 6666:6666 apache/kvrocks --bind 0.0.0.0 --port 6666 --requirepass $REDIS_PASSWORD --redis-cursor-compatible=true
  • requirepass 对应的用户为 admin
  • namespace 需要通过配置持久化
  • __namespace 默认
bash
namespace add ns1 my_token  # Token 绑定到 Namespace
namespace set ns1 new_token # 修改 Token
namespace get *             # 列出所有 Namespace

auth ns1 my_token # 切换 Namespace

namespace del ns1 # 删除 Namespace

compact # 执行 rocksdb 的 compact - 释放磁盘空间

配置

text
# 配置定义 namespace
namespace.NS TOKEN_FOR_NS

# ⚠️ 不能事后更改
cluster-enabled no

internal

text
+-------------+-------------+------------------------------+-----------------+------------+-------------+-----------+
|  ns size    |  namespace  |   cluster slot               |  user key size  |  user key  |   version   |  sub key  |
| (1byte: X)  |   (Xbyte)   | (2byte when cluster enabled) |   (4byte: Y)    |   (YByte)  |   (8byte)   |  (ZByte)  |
+-------------+-------------+------------------------------+-----------------+------------+-------------+-----------+
text
+----------------------------------------+
|               flags                    |
+----------------------------------------+
|  (1byte: | version -> <- data type |)  |
+----------------------------------------+

关联信息

反向链接、本文链接的其他页面和外部资料。

反向链接

  • KV DB Awesome
    笔记 · KvRocks

    缓存 · 数据引擎 · NoSQL 底层 · SQL 底层 · KV 最容易实现分布式 · 数据库都是某种形式上的 KV · Redis · redis/node-redis · Redis 官方/主流 Node.js client。 · go-redis/redisrate

References

GitHub3 条
其他外链2 条
最近更新commit 136452cEdit

On this page