# Redis

## 基本信息

[Redis](https://en.wikipedia.org/wiki/Redis) 是开源的内存 Key-Value 数据库实现。

该仓库位于 [Docker Hub 的 Redis 官方镜像页](https://hub.docker.com/_/redis/)。具体可用版本以 Docker Hub 上的 tags 列表为准。

## 使用方法

默认会在 `6379` 端口启动数据库。

```bash
$ docker run --name some-redis -d -p 6379:6379 redis
```

另外还可以启用[持久存储](https://redis.io/topics/persistence)。

```bash
$ docker run --name some-redis -d -p 6379:6379 redis redis-server --appendonly yes
```

默认数据存储位置在 `VOLUME/data`。可以使用 `--volumes-from some-volume-container` 或 `-v /docker/host/dir:/data` 将数据存放到本地。

使用其他应用连接到容器，首先创建网络

```bash
$ docker network create my-redis-net
```

然后启动 redis 容器

```bash
$ docker run --name some-redis -d --network my-redis-net redis
```

最后启动应用容器

```bash
$ docker run --name some-app -d --network my-redis-net application-that-uses-redis
```

或者通过 `redis-cli`

```bash
$ docker run -it --rm \
    --network my-redis-net \
    redis \
    sh -c 'exec redis-cli -h some-redis'
```

## Dockerfile

请到 [Redis 官方镜像文档目录](https://github.com/docker-library/docs/tree/master/redis) 查看。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/docker_practice/fu-lu/appendix/repo/redis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
