V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Hawy
V2EX  ›  Linux

请问有没有适合嵌入式 Linux 环境下的基于 ram 的单机 k-v 存储方案?

  •  
  •   Hawy · 2020-10-06 20:13:40 +08:00 · 3170 次点击
    这是一个创建于 1509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求如下

    • 基于 RAM 存储,无需持久化
    • 资源占用小,适用于嵌入式 Linux 系统等 RAM 极端受限环境
    • 单机版即可,需满足本地多个进程同时访问
    • C/C++实现且开源

    谢谢!

    13 条回复    2020-10-09 10:19:50 +08:00
    reus
        1
    reus  
       2020-10-06 20:26:23 +08:00
    单机版又何来多个进程同时访问?
    redis 吧。
    ryd994
        2
    ryd994  
       2020-10-06 20:27:10 +08:00 via Android
    C++ std map ?
    嵌入式一共就那点内存,能玩出什么花样?你也没说什么数据库的要求。单纯查询的话 map 足够了
    跨进程访问可以用 unix socket
    beginor
        3
    beginor  
       2020-10-06 20:29:16 +08:00 via Android
    SQLite ?
    tempdban
        4
    tempdban  
       2020-10-06 20:29:24 +08:00 via Android
    搞个共享内存加把锁,你连 socket 都不用实现
    reus
        5
    reus  
       2020-10-06 20:34:54 +08:00
    如果不需要多进程访问,那随便一个哈希表实现都可以用
    iceheart
        6
    iceheart  
       2020-10-06 21:06:23 +08:00 via Android
    自己写个也就两天功夫吧
    wangyzj
        7
    wangyzj  
       2020-10-06 21:27:21 +08:00
    memcached
    这个行不行啊
    leavic
        8
    leavic  
       2020-10-06 22:42:21 +08:00
    这不就是用 c 把 dict 实现一下吗?
    Hawy
        9
    Hawy  
    OP
       2020-10-06 23:36:41 +08:00
    @ryd994
    @tempdban
    多谢,C++ std map 加 Boost.Interprocess 搞定!
    elechi
        10
    elechi  
       2020-10-06 23:43:36 +08:00   ❤️ 1
    berkeley db
    sadfQED2
        11
    sadfQED2  
       2020-10-07 22:15:24 +08:00 via Android
    Redis memcache 行吗?不行的话自己拿 golang 写一个也用不了多久啊
    mcds
        12
    mcds  
       2020-10-08 14:59:06 +08:00
    berkeley db,python 自带。kv 数据库还有人推 sqlite 的。。。
    LANB0
        13
    LANB0  
       2020-10-09 10:19:50 +08:00
    参考 APUE db 的实现
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.