暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redka:基于 SQLite 的 Redis 替代方案

老柴杂货铺 2025-04-13
649

Redka是由开发者 Anton Zhiyanov 主导的开源项目,核心目标是用 SQLite 重新实现 Redis 的核心功能,同时保持 API 兼容性。

一、核心特性:

存储与性能

使用 SQLite 作为底层存储,数据不受内存限制,支持 ACID 事务,适合需要持久化及复杂事务的场景。

性能约为 Redis 的 1/5~1/2(写入 2.6 万次/秒,读取 10 万次/秒),但足以应对中小型应用需求。

兼容性

支持 Redis 主要数据类型:字符串、列表、集合、哈希、有序集合。

兼容 Redis 命令(如 SET、GET、INCR)及 RESP 协议,可直接用 redis-cli 连接操作。

扩展性

提供 SQL 视图用于数据分析和监控,支持 Go API 嵌入开发或独立服务器部署。

二、适用场景:

嵌入式系统:如 IoT 设备,需轻量级键值存储且兼顾事务安全。

原型开发:快速验证功能时替代 Redis,降低依赖复杂度。

数据密集型应用:处理超出内存容量的数据集,例如日志存储或低频查询场景。

三、安装与使用示例:

    # 独立服务器部署(Linux)
    curl -L -O "https://git.1st.name/https://github.com/nalgeon/redka/releases/download/v0.5.3/redka_linux_amd64.zip"
    unzip redka_linux_amd64.zip && chmod +x redka
    ./redka -h 0.0.0.0 -p 6379 data.db  # 启动服务
    # 使用 Redis 客户端连接
    redis-cli -h localhost -p 6379
    127.0.0.1:6379> SET user:1 "Alice"
    OK
    127.0.0.1:6379> GET user:1
    "Alice"
    四、与 Redis 的对比:
    维度RedkaRedis
    存储引擎
    SQLite(磁盘持久化)
    内存 + 可选持久化(RDB/AOF)
    事务支持
    ACID 事务
    弱事务(无回滚)
    数据容量
    仅受磁盘限制
    受内存限制
    性能
    较低(适合低频操作)
    高(适合高并发)
    部署复杂度
    单一文件,无需外部依赖
    需独立服务进程
    综上,Redka 的 SQLite+Redis 方案适合需要持久化存储和事务的中小型项目,至少,临时做下测试就不需要安装redis了

    文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论