OrientDB 教程

OrientDB - 主页 OrientDB - 概述 OrientDB - 安装 OrientDB - 基本概念 OrientDB - 数据类型 OrientDB - 控制台模式

OrientDB 数据库命令

OrientDB - 创建数据库 OrientDB - 更改数据库 OrientDB - 备份数据库 OrientDB - 恢复数据库 OrientDB - 连接数据库 OrientDB - 断开数据库 OrientDB - 信息数据库 OrientDB - 列出数据库 OrientDB - 冻结数据库 OrientDB - 释放数据库 OrientDB - 配置数据库 OrientDB - 导出数据库 OrientDB - 导入数据库 OrientDB - 提交数据库 OrientDB - 回滚数据库 OrientDB - 优化数据库 OrientDB - 删除数据库

OrientDB 记录命令

OrientDB - 插入记录 OrientDB - 显示记录 OrientDB - 加载记录 OrientDB - 重新加载记录 OrientDB - 导出记录 OrientDB - 更新记录 OrientDB - 截断记录 OrientDB - 删除记录

OrientDB 类命令

OrientDB - 创建类 OrientDB - 更改类 OrientDB - 截断类 OrientDB - 删除类

OrientDB 集群命令

OrientDB - 创建集群 OrientDB - 更改群集 OrientDB - 截断群集 OrientDB - 删除群集

OrientDB 属性命令

OrientDB - 创建属性 OrientDB - 更改属性 OrientDB - 删除属性

OrientDB 顶点命令

OrientDB - 创建顶点 OrientDB - 移动顶点 OrientDB - 删除顶点

OrientDB 边命令

OrientDB - 创建边 OrientDB - 更新边 OrientDB - 删除边

OrientDB高级概念

OrientDB - 函数 OrientDB - 序列 OrientDB - 索引 OrientDB - 事务 OrientDB - 钩子 OrientDB - 缓存 OrientDB - 日志 OrientDB - 性能调优 OrientDB - 升级 OrientDB - 安全 OrientDB - Studio

OrientDB 接口

OrientDB - Java 接口 OrientDB - Python 接口

OrientDB 有用资源

OrientDB - 快速指南 OrientDB - 有用资源 OrientDB - 讨论


OrientDB - 缓存

缓存是一种概念,它将创建数据库表结构的副本,为用户应用程序提供舒适的环境。OrientDB 在不同级别有几种缓存机制。

下图说明了什么是缓存。

缓存机制

在上图中,DB1DB2DB3 是应用程序中使用的三个不同的数据库实例。

1 级 缓存是本地缓存,它存储特定会话已知的所有实体。如果此会话中有三个事务,它将保存所有三个事务使用的所有实体。当您关闭会话或执行"清除"方法时,此缓存将被清除。它减少了应用程序和数据库之间的 I/O 操作负担,从而提高了性能。

二级缓存是使用第三方提供商工作的真实缓存。您可以完全控制缓存的内容,即您可以指定应删除哪些条目,应将哪些条目存储更长时间等等。它是多个线程之间的完全共享缓存。

存储模型不过是磁盘、内存或远程服务器等存储设备。

OrientDB 中的缓存如何工作?

OrientDB 缓存在不同的环境中提供不同的方法。缓存主要用于加快数据库事务,减少事务的处理时间并提高性能。以下流程图显示了缓存在本地模式和客户端-服务器模式下的工作方式。

本地模式(嵌入式数据库)

以下流程图告诉您在本地模式下,即当您的数据库服务器位于本地主机时,记录在存储和使用的应用程序之间是如何流动的。

嵌入式数据库

当客户端应用程序请求记录时,OrientDB 会检查以下 −

  • 如果事务已经开始,则它会在事务内部搜索已更改的记录,如果找到则返回。

  • 如果本地缓存已启用并包含请求的记录,则返回它。

  • 如果此时记录不在缓存中,则请求将其发送到存储(磁盘,内存)。

客户端服务器模式(远程数据库)

以下流程图告诉您在客户端-服务器模式下,即当您的数据库服务器位于远程位置时,记录如何在存储和使用的应用程序之间流动。

远程数据库

当客户端应用程序请求记录时,OrientDB 会检查以下 −

  • 如果事务已经开始,则它会在事务内部搜索已更改的记录,如果找到则返回。

  • 如果本地缓存已启用并包含请求的记录,则返回它。

  • 此时,如果记录不在缓存中,则通过 TCP/IP 向服务器请求它调用。

  • 在服务器中,如果本地缓存已启用且包含所请求的记录,则返回该记录。

  • 此时,记录仍未缓存在服务器中,则请求将其发送到存储(磁盘、内存)。