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

查看 433|回复 27
aijam   
https://docs.python.org/3/library/dbm.html
iorilu
OP
  
@aploium 好像不错, 是本地文件实现的 kv, 回头仔细研究下
iorilu
OP
  
@Kirscheis 需要完整存取用 json.dump 是没问题的
但我想要随机存取单个的值, 不想每次都完整 dump,load
这也是很正常的需求
至于 redis, 我如果开发一个单机软件, 我也不能指望客户端用户自己部署一个 redis 把, 就算可以弄个自动安装的, 也没必要
iorilu
OP
  
很多人说 sqlite
我认为 sqlite 是很好, 不用安装, 单文件存储, 性能过得去
但是, 我不喜欢 sql
我认为正常情况下, 用名字-值这样的方式存储数据是最自然的, 本来数据在程序中就是有名字的, 直接用名字存储最自然, 就算是大量数据, 正常情况下也是有自然 key 的, 比如用户的 email,或者手机号, 都可以用来唯一索引, 都可以天然对应 kv 存储
tomczhen   
可以看看 diskcache ,不过也是封装了一层 sqlite 。
chendy   
@iorilu #12 一个单表简单封装一下就出来了,何来不喜欢 sql 捏…
wateryessence   
https://pypi.org/project/sqlitedict/
swulling   
@iorilu sqlite 你建一个表,key- value 不完了
NoOneNoBody   
可以弄个 class ,然后__getattr__, __setattr__,__dict__,把 sql 的增删改查写进去,反正位置也固定、sql 语句也固定,无非就是 select 和 insert or replace ,写死了,外部就根本不用理会
实例化这个 class ,直接 obj.abc+obj.cba 就是了
我封装了一大堆函数,然后 ipython 启动时自动 import ,现在 ipython 几乎都可以当 shell 用了
icbmicbm   
考虑下 leveldb
https://pypi.org/project/plyvel/
您需要登录后才可以回帖 登录 | 立即注册

返回顶部