使用MATLAB生产服务器REDIS缓存快速存储和检索数据
MATLAB生产服务器™附带的REDIS高速缓存允许您存储数据。这个函数对以下情况特别有用:
- 在调用之间存储瞬态数据
- 加载执行所需的大型数据文件,例如机器学习模型(.mat)文件
通过一个计算机器剩余使用寿命(RUL)的示例,了解REDIS如何工作。
本视频重点介绍了R2018b中引入的MATLAB Production Server的一个特性:在高速内存缓存中存储持久数据的能力。
MATLAB Production Server请求是无状态的,这意味着每个调用都独立于前一个调用。有时需要在调用之间存储数据或状态,而MATLAB Production Server通过使用称为REDIS的高速内存数据库实现了这一功能。REDIS与MATLAB生产服务器一起提供,用于内部安装,云中的MATLAB生产服务器允许您调用云服务提供商的实现,例如Azure REDIS缓存。
有两个主要的场景,你会想要使用REDIS持久缓存:
- 存储调用MATLAB生产服务器之间的瞬态数据,如首选项设置,或用于计算移动平均值
- 加载执行所需的大型数据文件,例如包含机器学习模型的.mat文件
下面的示例演示了这两种场景。它使用增量机器学习来预测rull -电机的剩余使用寿命。
机器学习RUL算法已部署到MATLAB Production Server,算法所需的预测机器学习模型已存储在REDIS上。
客户端应用程序将电机的当前样本发送到MATLAB生产服务器,以及给定这些样本的RUL请求。RUL算法运行在一个工作进程上,该进程从REDIS加载预测机器学习模型。这发生得非常快,因为REDIS是内存中的数据库。
将预测的RUL返回给客户机应用程序。
用样例数据增量地更新模型,并将模型写回REDIS以等待下一次调用。
可以在客户端应用程序的图表上绘制随时间收集的结果。
让我们看看这是怎么回事。
我们从一个电机收集数据,顺序一直到它的“剩余使用寿命”结束。'monitorRUL'测试脚本将通过将所有这些样本按顺序发送到MATLAB生产服务器,对该电机的RUL执行快速模拟。它还将在检索结果时绘制RUL结果。
这段代码的第6行显示了连接到正在运行的REDIS缓存的语法。第18行和第20行展示了如何使用MATLAB的“put”和“get”函数向缓存写入和读取数据。
现在让我们运行monitorRUL脚本,它将把数据发送到包含部署的RUL算法和存储在REDIS缓存中的相应预测模型的MATLAB Production Server实例。
我们看到,在大约2500分钟的数据之后,该模型表明电机的剩余使用寿命急剧下降。预测性维护应用程序将使用这些信息提醒某人对该特定电机进行计划维护。
要了解更多关于如何在MATLAB Production Server中使用持久性的信息,请访问以下网站:数据缓存基础.
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。