You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python sqlite3是否支持缓存型内存数据库?问题咨询

Python sqlite3 共享内存数据库问题解决
  • Python内置的sqlite3完全支持可复用的共享内存数据库,你的问题核心是没开启URI模式。
  • 你之前的代码con = sqlite3.connect('file::memory:?cache=shared')生成磁盘文件,是因为sqlite3.connect默认把传入的字符串当作普通磁盘文件名处理,而file::memory:?cache=shared是SQLite专属的URI格式连接字符串,必须显式指定uri=True参数才能被正确识别。
  • 正确的写法如下:
    con = sqlite3.connect('file::memory:?cache=shared', uri=True)
    
  • 用这个方式创建的共享缓存内存数据库,关闭连接后再用相同的URI(带uri=True)重新连接,就能访问之前存储的数据。
  • 替代方案:如果只是单进程内多次连接共享内存库,也可以在第一次连接时设置check_same_thread=False并复用同一个连接对象,但URI方式的通用性更强,适配多连接甚至跨进程场景。

内容的提问来源于stack exchange,提问作者DonH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:32:33