Python 有没有好用的本地文件实现的 key, value 存储

查看 432|回复 27
作者:iorilu   
其实经常有本地存储一些信息数据的需求
一般都是通过各种配置文件比如什么 ini ,json ,toml ,yaml 等等东西
但配置文件必须完整存储, 并不适合存储大量信息
一般真存多点信息都用 sqlite 了
我想如果有一个类似 redis 的接口, 可能不需要那么复杂
但能做到键值存储, 随机访问, 性能还行的本地文件实现的库,那是很好的啊
具体要求如下
[ol]
  • 支持随机 key ,value 存储访问
  • 没有任何安装
  • 只是用单文件存储内容, 方便复制备份等
  • 性能类似那种本地数据库比如 sqlite , 当然快点更好
    [/ol]

    存储, 文件, sqlite, value

  • Tanix2   
    pickle 不能满足要求吗
    vance123   
    用 sqlite 自己封装一层就可以了吧
    shinession   
    用 pickle zlib 序列化和反序列化, 可以直接存到 sqlite 里面, 不过好奇为什么不用 redis, 已经够简单了?
    buliugu   
    sqlite 它不香嘛?
    iorilu
    OP
      
    @shinession 经常有本地存储的需要啊
    比如我想开发一个桌面软件, 需要存数据再本地, 但是不想用 sql
    kv 存储可能足够满足需求, 而且更简单
    奇怪的事, 居然这么久没人开发这种库吗
    aploium   
    diskcache
    cmdOptionKana   
    PickleDB, TinyDB, ZODB
    swulling   
    sqlite 足够简单了,没必要追求最简单的实现。
    Kirscheis   
    我除了存 binary 数据之外的什么 kv 数据到磁盘都是直接 json.dump 就完事了,至今没遇到过性能瓶颈。。。binary 很大的时候会单独存文件里再用 kv 索引路径。
    之前我有一个工控桌面程序项目自动生成的配置很多,加起来大概有一百多万条 kv 对,存盘的时候 json.dump 到磁盘每次也就半秒钟,几乎全是写磁盘时间,load 也是秒读。
    如果是性能压力大到要高速缓存的话,应该没有比 redis 更简单的实现了。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部