OrientDB缓存
Caching 是一个概念,将创建数据库表结构的副本,为用户应用程序提供舒适的环境。 OrientDB在不同级别有几个缓存机制。
下图说明了什么是缓存。
在上图中,DB1,DB2,DB3是应用程序中使用的三个不同的数据库实例。
Level-1缓存是本地高速缓存,其存储由特定会话已知的所有实体。如果在此会话中有三个事务,它将保存所有三个事务使用的所有实体。当您关闭会话或执行“清除”方法时,此高速缓存将被清除。它减少了应用程序和数据库之间I / O操作的负担,从而提高了性能。
Level-2缓存是通过使用第三方提供商工作的Real缓存。您可以完全控制缓存的内容,即您可以指定应删除哪些条目,哪些条目应该存储得更久等。它是多线程之间的完全共享缓存。
存储模型只不过是磁盘,内存或远程服务器的存储设备。
如何在OrientDB中工作?
OrientDB缓存在不同的环境中提供不同的方法。缓存主要用于更快的数据库事务,减少事务的处理时间并提高性能。以下流程图显示了缓存如何在本地模式和客户端 - 服务器模式下工作。本地模式(嵌入式数据库)
以下流程图告诉您记录如何在本地模式下的存储和已使用应用程序之间,即当您的数据库服务器在本地主机中时。
当客户端应用程序请求记录OrientDB检查以下:
如果事务已经开始,则它在事务内搜索已更改的记录,并在找到后返回。
如果本地缓存被启用并且包含所请求的记录,则返回它。
如果此时记录不在缓存中,则请求它到存储(磁盘,内存)。
客户端服务器模式(远程数据库)
以下流程图告诉您记录是如何在客户机 - 服务器模式下存储和使用的应用程序之间,即当您的数据库服务器在远程位置时。
当客户端应用程序要求的记录,OrientDB检查以下 :
如果事务已经开始,然后查找更改的记录的事务中,如发现其返回。
如果本地高速缓存被启用,并包含所请求的记录,然后返回。
此时,如果记录不在高速缓存中,则它通过TCP / IP呼叫请求到服务器。
在服务器中,如果本地高速缓存被启用,并包含所请求的记录,然后返回。
在这一点上,仍然记录未在服务器高速缓存,然后它要求的存储(磁盘,存储器)。