Redka 旨在使用 SQLite 重新实现 Redis 的核心部分,同时保持与 Redis API 的兼容性。
主要特点:
- 数据不必完全存储在内存中。
- 支持 ACID 事务。
- 提供 SQL 视图,便于更好的内部检查和报告。
- 支持进程内(Go API)和独立(RESP)服务器。
- 兼容 Redis 命令和通信协议。
Redka 已经功能准备就绪,可以发布 1.0 版本。欢迎在非关键性生产环境中尝试,并在问题区提供反馈。
命令
Redka 支持五种核心 Redis 数据类型:
- 字符串是最基本的 Redis 类型,表示一系列字节。
- 列表是按插入顺序排序的字符串序列。
- 集合是唯一字符串的无序集合。
- 哈希是字段-值(哈希)映射。
- 有序集合(zsets)是按每个字符串关联分数排序的唯一字符串集合。
安装和使用
Redka 提供两种使用方式:
性能
根据基准测试,Redka 的速度比 Redis 慢几倍。尽管如此,它在 Macbook Air 上仍能达到每秒 10 万次操作,这已经相当不错了(而且可能是大多数应用程序所需的 10 倍以上)。
Redka 将数据存储在具有简单架构的 SQLite 数据库中,并提供视图以便更好地进行内部检查。
贡献
欢迎贡献。对于错误修复以外的任何内容,请先开启一个问题来讨论您想要更改的内容。
请确保适当地添加或更新测试。
致谢
没有这些优秀的项目和它们的创建者,Redka 就不可能实现:
- Redis(Salvatore Sanfilippo)。超越简单的获取-设置范式,为更复杂的数据结构提供便捷 API 的想法非常棒。
- SQLite(D. Richard Hipp)。为全世界提供支持的进程内数据库。
- Redcon(Josh Baker)。一个非常简洁便捷的 RESP 服务器实现。
标志字体由 Ek Type 提供。
资金支持
Redka 主要是一个个人项目,没有风险投资基金或其他支持。
如果您觉得 Redka 有用,请考虑在 GitHub 上赞助它。这真的有助于推动项目向前发展。
♥ 成为赞助者以支持 Redka。
★ 订阅以及时了解新功能。