数据缓存基础知识
持久性提供一个机制来调用MATLAB之间的缓存数据®代码运行在一个服务器实例。一个持久性服务分开运行服务器实例,可以手动启动和停止。一个连接名链接服务器实例持久性服务。一个持久性服务使用持久性提供者来存储数据。目前,复述,™是唯一支持持久性提供者。金宝app连接名称中使用MATLAB应用程序代码来创建一个数据缓存在持久性服务有关。
典型的工作流的数据缓存
步骤 | 命令行 | 指示板 |
---|---|---|
1。创建文件mps_cache_config |
手动创建一个JSON文件,并将其放入配置 文件夹的服务器实例。不包括. json 文件名的扩展。 |
自动创建。 |
2。启动持久性服务 | 使用 出于测试目的,您可以创建一个持久性服务控制器对象使用 |
|
3所示。创建一个数据缓存 | 使用mps.cache.connect (MATLAB编译器SDK)创建一个数据缓存。 |
使用mps.cache.connect (MATLAB编译器SDK)创建一个数据缓存。 |
将服务器配置为使用复述,
创建复述,配置文件
开始前的持久性服务本地服务器实例的系统命令提示符,您必须创建一个JSON文件mps_cache_config
(没有. json
扩展),并将其放入配置
文件夹的服务器实例。如果你使用仪表板来管理一个本地服务器实例和服务器部署在云上mps_cache_config
创建文件服务器上自动创建。
mps_cache_config
{"连接":{" < connection_name > ":{“提供者”:“复述”、“主机”:“<主机名>”,“港”:< port_number进行>,“关键”:< access_key >}}} |
指定< connection_name >
,<主机名>
,> < port_number进行
在JSON文件中。主机名可以是本地主机
或远程主机名获得从Azure®复述,缓存资源。如果你使用Azure缓存复述,你必须指定一个访问密钥。使用Azure复述,缓存,您需要一个微软®Azure帐户。
您可以指定文件中的多个连接mps_cache_config
。每个连接都必须有一个唯一的名称和一双独特的(主机、端口)。如果您使用的是通过仪表板,持久性服务文件mps_cache_config
是自动创建的配置
文件夹的服务器实例。
安装WSL服务器实例上运行窗户
如果你的MATLAB生产服务器™实例运行在Windows上®机,你需要额外的配置。以下配置不需要在Linux上运行的服务器实例®和macOS。
您需要安装Windows子系统为Linux (WSL)。安装WSL的细节,请参阅微软文档。
如果MATLAB生产服务器软件安装在一个网络驱动器,您必须安装WSL的网络驱动器。
例如:增加计数器使用数据缓存
这个例子向您展示了如何使用持久性来增加一个计数器使用数据缓存。的例子提出了两个工作流:测试工作流使用MATLAB和部署流程,需要一个活跃的服务器实例。
测试工作流程MATLAB编译器SDK
创建一个使用复述,作为持久性的持久性服务提供者和服务开始。
ctrl = mps.cache.control (“myRedisConnection”,“复述”,“端口”,4519年)开始(ctrl)
编写MATLAB代码创建一个缓存,然后更新计数器使用缓存。名字的文件
myCounter.m
测试柜台。
为我= 1:5 y(我)= myCounter (“myCache”,“myRedisConnection”);结束y
y = 0 1 2 3 4
部署工作流使用MATLAB生产服务器
之前部署代码服务器实例使用的持久性,开始持久性服务并将它附加到服务器实例。您可以从命令行启动持久性服务系统使用mps-cache
仪表板或遵循的步骤。这个示例假设您的服务器实例使用默认的主机和端口:localhost: 9910
。
包文件
myCounter.m
使用生产服务器编译器应用程序或世纪挑战集团
。部署归档文件(
myCounter.ctf
文件)到服务器。测试柜台。你可以打电话到服务器使用RESTful API为MATLAB函数执行从MATLAB桌面。
rhs = {(“myCache”]、[“myRedisConnection”]};身体= mps.json.encoderequest (,“Nargout”1);选择= weboptions;选项。ContentType =“文本”;选项。MediaType =“application / json”;选项。超时= 30;为我= = webwrite 1:5反应(“http://localhost: 9910 / myCounter myCounter”,身体,选项);x (i) = mps.json.decoderesponse(响应);结束x = x ({}):
x = 0 1 2 3 4
正如预期的那样,结果从测试环境工作流和工作流部署环境是相同的。
另请参阅
mps.cache.Controller
(MATLAB编译器SDK)|mps.cache.DataCache
(MATLAB编译器SDK)|mps.sync.TimedMATFileMutex
(MATLAB编译器SDK)|mps.sync.TimedRedisMutex
(MATLAB编译器SDK)|mps.cache.control
(MATLAB编译器SDK)|mps.cache.connect
(MATLAB编译器SDK)|mps.sync.mutex
(MATLAB编译器SDK)