praval.storage.providers.redis_provider

Redis storage provider for Praval framework

Provides key-value storage, caching, and pub/sub capabilities with Redis backend.

Classes

RedisProvider(name, config)

Redis key-value storage provider with async support.

class praval.storage.providers.redis_provider.RedisProvider(name, config)[source]

Bases: BaseStorageProvider

Redis key-value storage provider with async support.

Features: - Key-value operations (GET, SET, DEL) - Hash operations (HGET, HSET, HGETALL) - List operations (LPUSH, RPUSH, LRANGE) - Set operations (SADD, SMEMBERS) - Expiration and TTL management - Pub/Sub messaging - Lua script execution

Parameters:
  • name (str)

  • config (Dict[str, Any])

async connect()[source]

Establish connection to Redis.

Return type:

bool

async disconnect()[source]

Close Redis connection.

async store(resource, data, **kwargs)[source]

Store data in Redis.

Parameters:
  • resource (str) – Redis key

  • data (Any) – Data to store (will be JSON serialized if not string)

  • **kwargs – Redis parameters (ex, px, nx, xx, etc.)

Return type:

StorageResult

Returns:

StorageResult with operation outcome

async retrieve(resource, **kwargs)[source]

Retrieve data from Redis.

Parameters:
  • resource (str) – Redis key

  • **kwargs – Additional parameters (decode_json, etc.)

Return type:

StorageResult

Returns:

StorageResult with retrieved data

async query(resource, query, **kwargs)[source]

Execute Redis operations or search queries.

Parameters:
  • resource (str) – Pattern or specific key

  • query (Union[str, Dict]) – Query type or Redis command

  • **kwargs – Query parameters

Return type:

StorageResult

Returns:

StorageResult with query results

async delete(resource, **kwargs)[source]

Delete keys from Redis.

Parameters:
  • resource (str) – Key or pattern to delete

  • **kwargs – Delete parameters

Return type:

StorageResult

Returns:

StorageResult with operation outcome

async list_resources(prefix='', **kwargs)[source]

List keys in Redis.

Return type:

StorageResult

Parameters:

prefix (str)