redis_service.operations.json_string
json_string
codex_platform.redis_service.operations.json_string
JSON operations via standard Redis string commands (SET / GET).
Works with any Redis instance — no server modules required.
Values are serialized with json.dumps and deserialized with json.loads.
Classes
JsonStringOperations
Store JSON objects as Redis strings using SET/GET with json.dumps/loads.
Works with any standard Redis instance — no server modules required.
Does not support path-based access; for that use
:class:~codex_platform.redis_service.operations.json_module.JsonModuleOperations.
Example::
svc = JsonStringOperations(client)
await svc.set("user:42", {"name": "Alice", "age": 30}, ttl=3600)
user = await svc.get("user:42") # {"name": "Alice", "age": 30}
Source code in src/codex_platform/redis_service/operations/json_string.py
Functions
set(key, obj, ttl=None)
async
Serialize an object to JSON and store it in Redis (SET).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Redis key string. |
required |
obj
|
Any
|
Any JSON-serializable object (dict, list, str, int, …). |
required |
ttl
|
int | None
|
Expiry in seconds. |
None
|
Raises:
| Type | Description |
|---|---|
RedisConnectionError
|
Redis connection failure. |
RedisServiceError
|
Redis operation failure. |
Source code in src/codex_platform/redis_service/operations/json_string.py
get(key)
async
Read a Redis string and deserialize it from JSON (GET).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Redis key string. |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Deserialized object, or |
Raises:
| Type | Description |
|---|---|
RedisConnectionError
|
Redis connection failure. |
RedisServiceError
|
Redis operation failure. |
Source code in src/codex_platform/redis_service/operations/json_string.py
set_nx(key, obj, ttl=None)
async
Set a JSON value only if the key does not exist (SET NX).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Redis key string. |
required |
obj
|
Any
|
Any JSON-serializable object. |
required |
ttl
|
int | None
|
Expiry in seconds. |
None
|
Returns:
| Type | Description |
|---|---|
bool
|
|
Raises:
| Type | Description |
|---|---|
RedisConnectionError
|
Redis connection failure. |
RedisServiceError
|
Redis operation failure. |
Source code in src/codex_platform/redis_service/operations/json_string.py
mget(*keys)
async
Retrieve multiple JSON values in a single request (MGET).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*keys
|
str
|
Redis key strings. |
()
|
Returns:
| Type | Description |
|---|---|
list[Any]
|
List of deserialized objects in the same order as |
list[Any]
|
|
Raises:
| Type | Description |
|---|---|
RedisConnectionError
|
Redis connection failure. |
RedisServiceError
|
Redis operation failure. |