抽象的
在这篇简短的文章中,我们将看到如何安装和运行单闸GitHub项目,以在SinglestoredB Cloud上实现键值API。
介绍
在这篇简短的文章中,我们将采用现有的SingleStore Labs project,并证明可以在SinglestoredB Cloud上进行部署并运行的易度性。 请注意,示例仅用于演示目的,不应用于生产应用程序。
创建一个SinglestoredB云帐户
previous article显示了创建一个免费的SinglestoredB云帐户所需的步骤。我们将使用键值组作为我们的工作区组名称,而键 - 值作为我们的工作空间名称。我们会记下我们的密码和主机名称。
设置本地开发环境
安装去
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 Sverre在GitHub repo中开发了S2KV示例和文档。