Add support of the JSON in Kvrocks #1270
Replies: 5 comments 2 replies
-
I think we can support the RedisJSON API first. For choosing the JSON library candidates, I think we should list the metrics which we care like supported JSON path or not, performance, maturity and license, and so on... @PragmaTwice and @ShooterIT also have some experience with this, to see if they have some comments on this topic. |
Beta Was this translation helpful? Give feedback.
-
I dislike the idea to use cjson, which is not a C++ json library and do not provide enough feature for implementing RedisJSON. |
Beta Was this translation helpful? Give feedback.
-
The Json Part:
For our same kind productions:
Personally, we need to pick the library which are widely used, to prevent from library bugs. |
Beta Was this translation helpful? Give feedback.
-
@ShooterIT @PragmaTwice @mapleFU favor using the jsoncons, so maybe we can try if there is no further objection on this. |
Beta Was this translation helpful? Give feedback.
-
Has this pull request made any progress? |
Beta Was this translation helpful? Give feedback.
-
As everyone knows, JSON is more generic data. And it has richer expressions for data structures, I think we can support the JSON data structures in kvrocks.
This is the official website of RedisJSON
https://redis.io/commands/json.arrappend/
I think kvrocks can use jsonjson's commands.
One way is to use cjson as our JSON library since cjson-lua is already available in kvrocks.
Another approach is to introduce a new JSON library, such as rapidjson, simdjson
The tair DB supports two json formats, JSONPath and JSONPointer
I think Kvrocks can also support both formats. Jsonpointer is simple, JSON path is complex.
Beta Was this translation helpful? Give feedback.
All reactions