TinyDB - 中间件


TinyDB 中间件通过包装现有存储来帮助我们自定义数据库存储Behave。该中间件提高了数据库的性能。

缓存中间件

顾名思义,该中间件通过减少磁盘 I/O 来提高数据库的速度。CachingMiddleware 的工作原理如下:

  • 首先,它捕获所有读取操作。

  • 然后,在配置的写入操作次数后,它将数据写入磁盘。

句法

使用 CachingMiddleware 的语法如下 -

from tinydb.storages import JSONStorage
from tinydb.middlewares import CachingMiddleware
db = TinyDB('middleware.json', storage = CachingMiddleware(JSONStorage))
db.close()

例子

以下示例显示如何在数据库中执行基本的中间件过程。

from tinydb import TinyDB
from tinydb.storages import JSONStorage
from tinydb.middlewares import CachingMiddleware
object = TinyDB('storage.json', storage=CachingMiddleware(JSONStorage))
object.all()

输出

它将产生以下输出 -

[
   {
      "roll_number":1,
      "st_name":"elen",
      "mark":250,
      "subject":"TinyDB",
      "address":"delhi"
   },
   {
      "roll_number":2,
      "st_name":"Ram",
      "mark":[
         250,
         280
      ],
      "subject":[
         "TinyDB",
         "MySQL"
      ],
      "address":"delhi"
   },
   {
      "roll_number":3,
      "st_name":"kevin",
      "mark":[
         180,
         200
      ],
      "subject":[
         "oracle",
         "sql"
      ],
      "address":"keral"
   },
   {
      "roll_number":4,
      "st_name":"lakan",
      "mark":200,
      "subject":"MySQL",
      "address":"mumbai"
   },
   {
      "roll_number":5,
      "st_name":"karan",
      "mark":275,
      "subject":"oracle",
      "address":"benglore"
   }
]

关闭数据库以确保所有数据均已安全写入。

db.close()