Redka 项目的第一个版本已经发布,旨在提供与 Redis DBMS 兼容的 RESP 协议和 API,但在 SQLite 库之上实现。此外,使用 SQLite 还允许您使用 SQL 语言访问数据,例如生成报告或分析数据。支持使用 ACID 事务。 Redka 可以作为接受网络请求的服务器运行,也可以用作 Go 模块。该项目代码是用 Go 编写的,并在 BSD 许可证下分发。
目前,Redka 添加了对使用字符串和哈希的类型的支持,以及用于操作字符串数据、键、事务和哈希的命令。例如,命令可用于设置和获取与密钥关联的一个或多个字符串值、设置密钥的生命周期、递增/递减值、通过模板搜索密钥、重命名密钥、在事务中执行一系列命令,取消交易,使用哈希中的字段。
在不久的将来,我们计划添加对列表、集合(集)和排序集合的支持。从长远来看,HyperLogLog 算法的实现、使用发布/订阅模型操作地理坐标和交互命令的能力是值得期待的。目前还没有计划添加对 Lua 语言脚本、身份验证、ACL、监视/取消监视以及在一台服务器上使用多个数据库的功能的支持。对集群(Redis Cluster)和监控(Redis Sentinel)的支持肯定不会实现。
使用 Redis 项目的工具进行的性能测试表明,由于缺乏以键/值格式存储数据的特定优化,Redka 落后 Redis 2-6 倍。特别是,在所创建的测试环境中,Redis 表现出每秒 133 万次 SET 操作和每秒 139 万次 GET 操作的性能,而 Redka 在数据库不可用的情况下,性能为每秒 30 万次 SET 和 63 万次 GET 操作。位于随机存取存储器中。将数据库存储在磁盘上时,Redka 的性能为每秒 22 次 SET 操作和每秒 56 次 GET 操作。
来源: opennet.ru