> ## Documentation Index
> Fetch the complete documentation index at: https://prefect-bd373955-codex-docket-background-task-ha.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# blocks

# `prefect_redis.blocks`

Redis credentials handling

## Classes

### `RedisDatabase` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L17" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Block used to manage authentication with a Redis database

**Attributes:**

* `host`: The host of the Redis server
* `port`: The port the Redis server is running on
* `db`: The database to write to and read from
* `username`: The username to use when connecting to the Redis server
* `password`: The password to use when connecting to the Redis server
* `ssl`: Whether to use SSL when connecting to the Redis server
* `key_ttl`: Optional per-key TTL in seconds applied to every written key
  (`SET ... EX`); `None` (default) means keys never expire

**Methods:**

#### `aread_path` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
aread_path(self, path: str) -> bytes
```

Read a redis key

**Args:**

* `path`: Redis key to read from

**Returns:**

* Contents at key as bytes

**Examples:**

Read a key:

```python theme={null}
content = await block.aread_path("my-key")
```

#### `as_connection_params` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L228" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
as_connection_params(self) -> Dict[str, Any]
```

Return a dictionary suitable for unpacking

#### `awrite_path` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L128" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
awrite_path(self, path: str, content: bytes) -> bool
```

Write to a redis key

**Args:**

* `path`: Redis key to write to
* `content`: Binary object to write

**Examples:**

Write a key:

```python theme={null}
await block.awrite_path("my-key", b"contents")
```

#### `block_initialization` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L77" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
block_initialization(self) -> None
```

Validate parameters

#### `from_connection_string` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L198" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
from_connection_string(cls, connection_string: Union[str, SecretStr]) -> 'RedisDatabase'
```

Create block from a Redis connection string

Supports the following URL schemes:

* `redis://` creates a TCP socket connection
* `rediss://` creates a SSL wrapped TCP socket connection

**Args:**

* `connection_string`: Redis connection string

**Returns:**

* `RedisCredentials` instance

#### `get_async_client` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L182" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get_async_client(self) -> redis.asyncio.Redis
```

Get Redis Client

**Returns:**

* An initialized Redis async client

#### `get_client` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L167" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get_client(self) -> redis.Redis
```

Get Redis Client

**Returns:**

* An initialized Redis async client

#### `read_path` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L107" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
read_path(self, path: str) -> bytes
```

Read a redis key

**Args:**

* `path`: Redis key to read from

**Returns:**

* Contents at key as bytes

**Examples:**

Read a key:

```python theme={null}
content = block.read_path("my-key")
```

#### `write_path` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-redis/prefect_redis/blocks.py#L148" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
write_path(self, path: str, content: bytes) -> bool
```

Write to a redis key

**Args:**

* `path`: Redis key to write to
* `content`: Binary object to write

**Examples:**

Write a key:

```python theme={null}
block.write_path("my-key", b"contents")
```
