3个稳定版本
1.0.4 | 2023年2月6日 |
---|---|
1.0.3 | 2023年1月27日 |
在 数据库接口 中排名 #2747
16KB
337 行
keyz
使用rust和tokio实现的简单异步键值存储
命令行界面和客户端
运行
- 端口号始终为 -
7667
使用cargo在本地运行
cargoinstall keyz
keyz
- 如果您收到命令未找到的错误,则需要将cargo bin添加到PATH
使用Docker镜像运行
docker pull zvado1/keyz
sudodocker run --networkhost -dkeyz
支持的命令
SET [key] [value]
- 设置键和值
SET [key] [value] EX [seconds]
- 设置键和值,但带有秒数作为过期时间
GET [key]
- 获取给定键设置的值
EXIN [key]
- 返回键将过期的秒数
DEL [key]
- 删除键和值
CLOSE
- 关闭连接
使用命令的示例
-
SETtext some text blah
- 将设置
text
键,值为some text blah
- 将设置
-
SETuser:1 { "username": "testUsername", "password": "hashedandsecrurepass" }
- 再次,我们将设置键
user:1
,值{ "username": "testUsername", "password": "hashedandsecrurepass" }
- 这次我们使用了键
user:1
,因为您的应用程序中可能有多个用户
- 再次,我们将设置键
-
SETuser:1 { "username": "testUsername", "password": "hashedandsecrurepass" } EX 60
- 与之前完全相同,但这次我们在末尾添加了
EX 60
,因此user:1键将在60秒后过期
- 与之前完全相同,但这次我们在末尾添加了
-
GETuser:1
- 将给出
user:1
键的值 - 然而,如果键已过期,它将返回
null
- 将给出
-
EXINuser:1
- 将返回键在过期前剩余的秒数
- 如果已过期,将返回 null
- 如果键没有设置过期时间,将返回 null
-
DELuser:1
- 将尝试删除键
user:1
- 如果已删除,将返回被删除的键名,在这种情况下将返回
user:1
- 如果键不存在,将返回 null
功能
除了基本的 SET GET DEL 以外的功能
- 键过期
- 显示键过期前剩余时间的命令(以秒为单位)
- 从配置文件中读取设置
- 密码保护
- 持久性
- 监控
- 数据压缩
- 数据分区
- 统计信息,如连接客户端数量、键数量、存储使用量
- 将尝试删除键
依赖项
~5–12MB
~116K SLoC