设置你的开发环境很少是直接且无障碍的。更重要的是,考虑到现代应用程序对多语言持久性和容器化部署的需求,使用简单“Hello, World!”所需的所有基础设施来引导你的笔记本电脑变得非常具有挑战性。在这篇文章中,我将向你展示如何快速开始使用 Kubernetes 上的多模型 Redis 数据库开发你的应用程序。
多模型数据库是支持针对单个后端使用多种数据模型的一种数据库。虽然 Redis 从本质上来说是一种键值对式的数据结构存储,但模块可以以几乎任何可以想象的方式扩展它。目前,Redis 的开源模块为 Redis 添加了以下功能
Redis Enterprise 已经包含了所有这些模块,并且可以随时部署并在 Kubernetes 上运行。然而,直到最近,还没有现成的开源 Redis 容器镜像提供相同的功能。所以我制作了一个,自动化了它的构建并将其放在 Docker Hub 上:https://hub.docker.com/r/redislabs/redismod
redismod 容器提供了一个单实例 Redis 服务器的默认安装(即,未经生产环境强化)。它也被配置为在启动时加载所有五个模块,但你完全可以覆盖此行为。运行容器只需在你的终端提示符处执行以下命令
docker run -p 6379:6379 redis/redismod
要在 Kubernetes 上使用 redismod 镜像(以及你的应用程序的镜像),假设你无法访问 Kubernetes 部署,你可以使用 minikube。正如 minikube 的文档所述
“Minikube 是一种可以轻松在本地运行 Kubernetes 的工具。Minikube 在你笔记本电脑上的 VM 内运行单节点 Kubernetes 集群,供希望试用 Kubernetes 或每天使用它进行开发的用户使用。”
只需五个步骤即可启动并运行你的 minikube “集群”和 redismod 容器
minikube start
kubectl run redismod --image=redis/redismod --port=6379
kubectl expose deployment redismod --type=NodePort
kubectl get pod
完成之后,你可以像这样连接到 redismod 服务
$ redis-cli -u $(minikube service --format "redis://{{.IP}}:{{.Port}}" --url redismod) 192.168.99.100:31501> PING PONG 192.168.99.100:31501> MODULE LIST 1) 1) "name" 2) "redis-ml" 3) "ver" 4) (integer) 9901 2) 1) "name" 2) "ft" 3) "ver" 4) (integer) 10100 3) 1) "name" 2) "graph" 3) "ver" 4) (integer) 1 4) 1) "name" 2) "ReJSON" 3) "ver" 4) (integer) 10001 5) 1) "name" 2) "bf" 3) "ver" 4) (integer) 10100
这基本上就是全部了 – 你现在要做的就是从你的应用程序连接到 redismod,开始使用 Redis 上的多个模块对你的数据进行建模。有问题?反馈?电子邮件 或 在 Twitter 上 @ 我 – 我随时待命 🙂