imperugo / imperugo/StackExchange.Redis.Extensions
Add Redis JSON module support
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 628
- Forks
- 177
- PR merge metrics
- No merged PRs in 30d
Description
Summary
Add support for the Redis JSON module (RedisJSON) for native server-side JSON operations with JSONPath queries.
Why
Redis JSON allows storing, querying, and manipulating JSON documents directly on the server without full deserialization — critical for large documents where you only need a few fields.
Key Operations
- `JSON.SET` / `JSON.GET` — store/retrieve JSON
- `JSON.MGET` — multi-key JSON get
- `JSON.NUMINCRBY` — atomic numeric increment within JSON
- `JSON.ARRAPPEND` — append to JSON array
- `JSON.DEL` — delete JSON path
- `JSON.TYPE` — get type at path
Considerations
- Requires Redis Stack (not vanilla Redis)
- SE.Redis may not have native typed API — may need `ExecuteAsync` with raw commands
- Consider a separate NuGet package: `StackExchange.Redis.Extensions.Json`
- JSONPath query support is the differentiating feature
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reviewing the existing extension API and how it uses StackExchange.Redis, then assess ExecuteAsync with raw commands and the separate StackExchange.Redis.Extensions.Json package option. Done means supporting the listed RedisJSON operations and JSONPath queries, with the Redis Stack requirement accounted for.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, redis
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100