dot 速度的未来即将在您所在的城市举行活动。

加入我们在 Redis 发布会

面向开发者的 Minikube 多模型 Redis 数据库

设置开发环境很少是直接且无障碍的。更重要的是,鉴于现代应用程序对多语言持久性和容器化部署的胃口,用所有必要的基础设施优势来引导您的笔记本电脑,以实现简单的“Hello,World!”变得非常具有挑战性。在本文中,我将向您展示如何使用 Kubernetes 上的多模型 Redis 数据库快速开始开发您的应用程序。

多模型数据库是一种支持针对单个后端的多个数据模型的数据库。虽然 Redis 核心是一个类似于键值的数据结构存储,但模块可以以几乎所有可以想象的方式扩展它。目前,Redis 的开源模块为 Redis 添加了以下功能

  • 使用 RediSearch 进行全文搜索、聚合和二级索引
  • 使用 Redis Graph 进行图数据库和 OpenCypher 查询
  • 使用 Redis-ML 进行机器学习模型服务
  • 使用 ReJSON 进行文档存储
  • 使用 ReBloom 进行概率数据类型

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。对于希望尝试 Kubernetes 或每天使用 Kubernetes 进行开发的用户,Minikube 在您的笔记本电脑上的 VM 中运行一个单节点 Kubernetes 集群。”

只需五个步骤即可让您的 minikube“集群”启动并运行 redismod 容器

  1. 安装 minikube:https://kubernetes.ac.cn/docs/tasks/tools/install-minikube/
  2. 启动 minikube
    minikube start
  3. 部署 redismod 镜像
    kubectl run redismod --image=redis/redismod --port=6379
  4. 公开部署
    kubectl expose deployment redismod --type=NodePort
  5. 可选地,检查 pod 的状态是否为“运行”
    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 上发推给我 - 我随时可用 🙂