- 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 在不同级别具有多种缓存机制。
下图说明了缓存的概念。
在上图中,DB1、DB2、DB3 是应用程序中使用的三个不同的数据库实例。
一级缓存是本地缓存,它存储特定会话已知的全部实体。如果此会话中有三个事务,它将保存所有三个事务使用的所有实体。当您关闭会话或执行“清除”方法时,此缓存将被清除。它减少了应用程序和数据库之间I/O操作的负担,从而提高了性能。
二级缓存是一个真实缓存,它通过使用第三方提供程序来工作。您可以完全控制缓存的内容,即您可以指定哪些条目应被删除,哪些条目应存储更长时间等等。它是多个线程之间共享的完整缓存。
存储模型只不过是存储设备,可以是磁盘、内存或远程服务器。
OrientDB 中缓存的工作原理?
OrientDB 缓存在不同的环境中提供不同的方法。缓存主要用于加快数据库事务处理速度,减少事务处理时间并提高性能。以下流程图显示了缓存在本地模式和客户端-服务器模式下的工作方式。
本地模式(嵌入式数据库)
下图说明了在本地模式(即数据库服务器位于您的本地主机上)下记录在存储和使用应用程序之间的过程。
当客户端应用程序请求记录时,OrientDB 检查以下内容:
如果已开始事务,则它会在事务内搜索已更改的记录,如果找到则返回。
如果启用了本地缓存并且包含请求的记录,则返回它。
如果此时缓存中没有记录,则向存储(磁盘、内存)请求。
客户端-服务器模式(远程数据库)
下图说明了在客户端-服务器模式(即数据库服务器位于远程位置)下记录在存储和使用应用程序之间的过程。
当客户端应用程序请求记录时,OrientDB 检查以下内容:
如果已开始事务,则它会在事务内搜索已更改的记录,如果找到则返回。
如果启用了本地缓存并且包含请求的记录,则返回它。
此时,如果缓存中没有记录,则通过 TCP/IP 调用向服务器请求。
在服务器上,如果启用了本地缓存并且包含请求的记录,则返回它。
此时,如果服务器中仍然没有缓存记录,则向存储(磁盘、内存)请求。