---
title: Charmhub | Deploy Charmed Redis K8s using Charmhub - The Open Operator Collection
description: Deploy the latest version of Charmed Redis K8s as a Kubernetes Operator
  on any cloud.
url: https://charmhub.io/redis-k8s/libraries/redis
---

# Charmed Redis K8s

[Canonical](https://charmhub.io/publisher/data-platform "View all packages from Canonical")

* [Canonical](https://charmhub.io/publisher/data-platform "View all packages from Canonical")
* [Databases](https://charmhub.io/?filter=databases)

Platform:

edge 42

```
juju deploy redis-k8s --channel edge
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

[Toggle side navigation](https://charmhub.io/redis-k8s/libraries/redis#drawer)

## charms.redis\_k8s.v0.redis

* [*Docstrings*Docstrings](https://charmhub.io/redis-k8s/libraries/redis)
  [*Code*Source code](https://charmhub.io/redis-k8s/libraries/redis/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.redis_k8s.v0.redis
    ```

    [Download redis.py](https://charmhub.io/redis-k8s/libraries/redis/download)
  + *Last updated* 11 Nov 2024
  + *Revision* Library version 0.7

Library for the redis relation.

This library contains the Requires and Provides classes for handling the
redis interface.

Import `RedisRequires` in your charm by adding the following to `src/charm.py`:

```
from charms.redis_k8s.v0.redis import RedisRequires
```

Define the following attributes in charm charm class for the library to be able to work with it

```
    on = RedisRelationCharmEvents()
```

And then wherever you need to reference the relation data it will be available
in the property `relation_data`:

```
redis_host = self.redis.relation_data.get("hostname")
redis_port = self.redis.relation_data.get("port")
```

You will also need to add the following to `metadata.yaml`:

```
requires:
  redis:
    interface: redis
```

---

Index

* [class RedisRelationUpdatedEvent](https://charmhub.io/redis-k8s/libraries/redis#redisrelationupdatedevent)
* [class RedisRelationCharmEvents](https://charmhub.io/redis-k8s/libraries/redis#redisrelationcharmevents)
* [class RedisRequires](https://charmhub.io/redis-k8s/libraries/redis#redisrequires)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/redis-k8s/libraries/redis#redisrequires-__init__)
* + [def app\_data(
    self)](https://charmhub.io/redis-k8s/libraries/redis#redisrequires-app_data)
* + [def relation\_data(
    self)](https://charmhub.io/redis-k8s/libraries/redis#redisrequires-relation_data)
* + [def url(
    self)](https://charmhub.io/redis-k8s/libraries/redis#redisrequires-url)
* [class RedisProvides](https://charmhub.io/redis-k8s/libraries/redis#redisprovides)
* + [def \_\_init\_\_(
    self,
    charm,
    port)](https://charmhub.io/redis-k8s/libraries/redis#redisprovides-__init__)

#### class RedisRelationUpdatedEvent

Description

An event for the redis relation having been updated. None

#### class RedisRelationCharmEvents

Description

A class to carry custom charm events so requires can react to relation changes. None

#### class RedisRequires

Methods

RedisRequires.
\_\_init\_\_(

*self*

,
charm

,
relation\_name: str
)

Description

A class implementing the redis requires relation. None

RedisRequires.
app\_data(

*self*
)

Retrieve the app data.

Returns

Dict

dict containing the app data.

RedisRequires.
relation\_data(

*self*
)

Retrieve the relation data.

Returns

Dict

dict containing the relation data.

RedisRequires.
url(

*self*
)

Retrieve the Redis URL.

Returns

str

the Redis URL.

#### class RedisProvides

Methods

RedisProvides.
\_\_init\_\_(

*self*

,
charm

,
port
)

Description

A class implementing the redis provides relation. None
