TinyDB - 中间件



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

缓存中间件

此中间件(顾名思义)通过减少磁盘 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()
广告