dot Redis 8 来了——而且是开源的

了解更多

面向开发者的 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 的工具。Minikube 在你笔记本电脑上的 VM 内运行单节点 Kubernetes 集群,供希望试用 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 的状态是否为 'running'
    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 上 @ 我 – 我随时待命 🙂