Python实现SQLite队列,方便并发处理
介绍了一种基于Python实现的SQLite队列,可以方便地处理SQLite并发操作。通过使用队列,可以将SQLite操作转为串行化的方式,避免多个线程同时访问和修改数据库,提高了程序的执行效率。以下是示例代码:
import sqlite3
from queue import Queue
class SqliteQueue:
def __init__(self, db_path):
self.db_path = db_path
self.queue = Queue()
self.conn = None
self.cursor = None
def connect(self):
if not self.conn:
self.conn = sqlite3.connect(self.db_path)
self.cursor = self.conn.cursor()
def close(self):
if self.conn:
self.conn.close()
self.conn = None
self.cursor = None
def execute(self, sql, args=None):
self.queue.put((sql, args))
def commit(self):
if self.conn and not self.queue.empty():
self.cursor.execute('BEGIN TRANSACTION')
while not self.queue.empty():
sql, args = self.queue.get()
self.cursor.execute(sql, args)
self.conn.commit()
self.queue = Queue()
10.43KB
文件大小:
评论区