快速提示:在SinglestoredB上构建Redis API
#singlestoredb #redis #keyvalue

抽象的

在这篇简短的文章中,我们将看到如何安装和运行单闸GitHub项目,以在SinglestoredB Cloud上实现键值API。

介绍

在这篇简短的文章中,我们将采用现有的SingleStore Labs project,并证明可以在SinglestoredB Cloud上进行部署并运行的易度性。 请注意,示例仅用于演示目的,不应用于生产应用程序。

创建一个SinglestoredB云帐户

previous article显示了创建一个免费的SinglestoredB云帐户所需的步骤。我们将使用键值组作为我们的工作区组名称,而键 - 值作为我们的工作空间名称。我们会记下我们的密码主机名称。

设置本地开发环境

安装去

首先,我们将downloadinstall go,如下:

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz

我们可能需要使用sudo,如下:

sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz

我们将以下添加到PATH变量:

export PATH=$PATH:/usr/local/go/bin

,然后检查版本:

go version

这将打印GO的已安装版本。例如:

go version go1.20.1 linux/amd64

安装Mockgen

接下来,我们将安装mockgen,如下:

go install github.com/golang/mock/mockgen@v1.6.0

安装Redis-Tools

接下来,我们将安装redis-tools,以便我们可以使用redis-cli

sudo apt install redis-tools

克隆github仓库

我们现在将克隆以下github repo:

git clone https://github.com/singlestore-labs/s2kv

然后更改为目录:

cd s2kv

我们将制作以下文件的备份副本:

cp config.example.toml config.example.toml.bak

在原始的config.example.toml中,我们将修改设置,如下:

[database]
host = "<host>"
port = "3306"
username = "admin"
password = "<password>"
database = "kv"

我们将用我们的singlestoredB云帐户中的值替换<host><password>

创建数据库和表

我们现在准备创建数据库和表。可以使用MySQL CLI客户端完成此操作:

mysql -u admin -h <host> -P 3306 -p<password> < schema.sql

我们还创建了一些过程和功能,以支持SingleStoredB中的键值操作:

mysql -u admin -h <host> -P 3306 -p<password> < procedures.sql

我们将用我们的singlestoredB云帐户中的值替换<host><password>

检查配置

我们可以检查所有内容是否正确配置,如下:

go test -config config.example.toml

结果应类似于以下内容:

Connecting to SingleStore database... <host>:3306
PASS
ok   s2kv 1.915s

<host>是您的主机。

构建和运行

如果成功通过了测试,我们可以构建s2kv,如下:

go build s2kv/cmd/s2kv

,然后按以下方式启动s2kv应用程序:

./s2kv -config config.example.toml

示例查询

从另一个终端窗口中,我们将启动redis-cli,然后尝试github repo中列出的示例查询:

$ redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> set i 1
OK
127.0.0.1:6379> incrby i 2
(integer) 3
127.0.0.1:6379> get i
"3"
127.0.0.1:6379> sadd set 1
OK
127.0.0.1:6379> sadd set 2
OK
127.0.0.1:6379> sadd set 3
OK
127.0.0.1:6379> scard set
(integer) 3
127.0.0.1:6379> sadd bar 2
OK
127.0.0.1:6379> sadd bar 3
OK
127.0.0.1:6379> sadd bar 4
OK
127.0.0.1:6379> sinter set bar
1) "3"
2) "2"
127.0.0.1:6379> quit

概括

在本文中,我们在SinglestoredB的顶部看到了一个键值实现。 GitHub仓库为扩展和改进工作提供了基础。 SingleStoredB提供了钥匙值以外的许多功能,因此请查看website

致谢

我感谢Carl SverreGitHub repo中开发了S2KV示例和文档。