数据缓存基础
持久性提供了一种在MATLAB调用之间缓存数据的机制®在服务器实例上运行的代码。一个持久性服务独立于服务器实例运行,可以手动启动和停止。一个连接名将服务器实例链接到持久性服务。持久性服务使用持久性提供者存储数据。目前,Redis™是唯一受支持的持久性提供者。万博1manbetx在MATLAB应用程序代码中使用连接名称来创建数据缓存在链接的持久性服务中。
数据缓存的典型工作流
步骤 | 命令行 | 指示板 |
---|---|---|
1.创建文件mps_cache_config |
手动创建一个JSON文件,并将其放在配置 服务器实例的文件夹。 |
自动创建。 |
2.启动持久性服务 | 使用 出于测试目的,可以使用创建持久性服务控制器对象 |
|
3.创建数据缓存 | 使用mps.cache.connect (MATLAB编译器SDK)创建数据缓存。 |
使用mps.cache.connect (MATLAB编译器SDK)创建数据缓存。 |
配置使用的服务器复述,
创建复述,配置文件
在从系统命令提示符启动本地服务器实例的持久性服务之前,必须创建一个名为mps_cache_config
把它放在配置
服务器实例的文件夹。如果使用仪表板管理本地服务器实例,并且用于云上的服务器部署,则mps_cache_config
文件在服务器创建时自动创建。
mps_cache_config
{"连接":{" < connection_name > ":{“提供者”:“复述”、“主机”:“<主机名>”,“港”:> < port_number进行,“关键”:< access_key >}}} |
指定< connection_name >
,<主机名>
,> < port_number进行
JSON文件。主机名可以为本地主机
或从Azure获得的远程主机名®Redis缓存资源。如果对Redis使用Azure缓存,则必须指定访问密钥。要使用Azure Redis缓存,您需要Microsoft®Azure帐户。
您可以在文件中指定多个连接mps_cache_config
.每个连接必须有唯一的名称和唯一的(主机、端口)对。如果您通过仪表板使用持久性服务,则文件mps_cache_config
自动创建配置
服务器实例的文件夹。
为运行的服务器实例安装WSL窗户
如果你的MATLAB生产服务器实例运行在Windows上®机器,你需要额外的配置。对于运行在Linux上的服务器实例,不需要以下配置®而且macOS.
您需要安装Windows子系统for Linux (WSL)。有关安装WSL的详细信息,请参见微软文档.
如果MATLAB制作服务器如果软件安装在网络驱动器上,则必须在WSL中挂载该网络驱动器。
示例:使用数据缓存增加计数器
此示例向您展示如何使用持久性来使用数据缓存增加计数器。该示例展示了两个工作流:使用MATLAB的测试工作流和需要活动服务器实例的部署工作流。
测试工作流程MATLAB编译器SDK
创建一个使用Redis作为持久性提供者的持久性服务,并启动该服务。
CTRL = mps.cache.control(“myRedisConnection”,“复述”,“端口”, 4519年)开始(ctrl)
编写MATLAB代码,创建缓存,然后使用缓存更新计数器。为文件命名
myCounter.m
测试计数器。
为y(i) = myCounter(“myCache”,“myRedisConnection”);结束y
Y = 0 1 2 3 4
部署流程使用MATLAB生产服务器
在将使用持久性的代码部署到服务器实例之前,请启动持久性服务并将其附加到服务器实例。您可以从系统命令行使用mps-cache
或者按照仪表板上的步骤操作。这个例子假设你的服务器实例使用默认的主机和端口:localhost: 9910
.
打包文件
myCounter.m
使用生产服务器编译器应用程序或世纪挑战集团
.部署存档(
myCounter.ctf
文件)到服务器。测试计数器。方法可以调用服务器MATLAB函数执行的RESTful API从MATLAB桌面。
RHS = {[“myCache”]、[“myRedisConnection”]};Body = mps.json.encoderequest(rhs,“Nargout”1);选项= weboptions;选项。ContentType =“文本”;选项。MediaType =“application / json”;选项。超时= 30;为I = 1:5 response = webwrite(“http://localhost: 9910 / myCounter myCounter”, body, options);X (i) = mps.json. decoderresponse (response);结束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)