pika icon indicating copy to clipboard operation
pika copied to clipboard

Let Pika Support RedisJSON

Open AlexStocks opened this issue 1 year ago • 0 comments

RedisJSON 是什么?

在 Redis 官方文档 [1] 中,对 RedisJSON 有如下描述:

Redis Stack 的 JSON 功能为 Redis 提供了 JavaScript 对象表示法(JSON)支持。它使你能够在 Redis 数据库中存储、更新和检索 JSON 值,就像处理其他任何 Redis 数据类型一样。Redis JSON 还能与 Search 和 Query 功能无缝集成,允许你对 JSON 文档进行索引和查询。

Pika 已经支持 String, Hash, List, Zset, Set, Geo, Hyperloglog, Pubsub, Bitmap, Stream, ACL 等 Redis 数据结构,RedisJSON 可以认为是一种需要在 Pika 中有待支持的新 Redis 数据结构。近一年内,很多用户强烈要求 Pika 支持这种数据结构,以方便他们处理和查询 JSON 文档。

怎么在 Pika 中支持 RedisJSON?

就像其他数据结构一样,你需要: 1 首先在 Pika 最新的存储引擎 Floyd 中支持 RedisJSON 这种数据类型。 2 根据参考文档 [1] 找出需要实现的 Redis 命令,以 "存储、更新和检索 JSON 值"。 3 提交功能实现后,添加测试用例,Pika 目前测试集有三种:C++ GTest\Redis TCL TEST\Go Test。

参考文档

[1] RedisJSON: https://redis.io/docs/data-types/json/ [2] Floyd https://github.com/OpenAtomFoundation/pika/discussions/2052

AlexStocks avatar May 14 '24 12:05 AlexStocks