Персистентность предоставляет механизм данным кэша между вызовами кода MATLAB®, работающего на экземпляре сервера. Услуга персистентности работает отдельно от экземпляра сервера и может быть запущена и остановлена вручную. Имя подключения соединяет экземпляр сервера с сервисом персистентности. Сервис персистентности использует провайдера персистентности, чтобы хранить данные. В настоящее время Redis™ является единственным поддерживаемым провайдером персистентности. Имя подключения используется в коде приложения MATLAB, чтобы создать кэш данных в соединенном сервисе персистентности.
Прежде, чем запустить сервис персистентности для экземпляра сервера от системной командной строки, необходимо создать файл JSON под названием mps_cache_config и поместить его в папку config экземпляра сервера.
mps_cache_config
{
"Connections": {
"<connection_name>": {
"Provider": "Redis",
"Host": "<hostname>",
"Port": <port_number>
}
}
} |
Задайте <connection_name>, <hostname> и <port_number> в файле JSON. Именем хоста может или быть localhost или удаленное имя хоста, полученное из ресурса Azure® Redis Cache. В порядке использовать Azure Кэш Redis, вам будет нужна учетная запись Microsoft® Azure.
Можно задать многочисленные связи в файле mps_cache_config. Каждая связь должна иметь уникальное имя и уникальное (хост, порт) пара. Если вы используете сервис персистентности через инструментальную панель, файл, mps_cache_config автоматически создается в папке config экземпляра сервера.
Рабочий процесс, чтобы использовать персистентность
| Шаги | Командная строка | Инструментальная панель |
|---|---|---|
1. Создайте файл mps_cache_config | Вручную создайте файл JSON и поместите его в папку config экземпляра сервера. | Автоматически созданный. |
| 2. Запустите сервис персистентности | Используйте Для тестирования можно создать сервисный контроллер персистентности объектное использование |
|
| 3. Создайте кэш данных | Используйте mps.cache.connect, чтобы создать кэш данных. | Используйте mps.cache.connect, чтобы создать кэш данных. |
Этот пример показывает вам, как использовать персистентность постепенно увеличить счетчик с помощью кэша данных. Пример представляет два рабочих процесса: рабочий процесс тестирования, который использует MATLAB и рабочий процесс развертывания, который требует активного экземпляра сервера.
Создайте сервис персистентности, который использует Redis в качестве провайдера персистентности, и запустите сервис.
ctrl = mps.cache.control('myRedisConnection','Redis','Port',4519) start(ctrl)
Запишите код MATLAB, который создает кэш и затем обновляет счетчик с помощью кэша. Назовите файл myCounter.m
Протестируйте счетчик.
for i = 1:5 y(i) = myCounter('myCache','myRedisConnection'); end y
y =
1 2 3 4 5Прежде чем вы развернете код, который использует персистентность для экземпляра сервера, запустите сервис персистентности и присоедините его к экземпляру сервера. Можно запустить сервис персистентности с системной командной строки с помощью mps-cache или выполнить шаги в инструментальной панели. Этот пример принимает, что ваш экземпляр сервера использует хост по умолчанию и порт: localhost:9910.
Группируйте файл myCounter.m с помощью приложения Production Server Compiler или mcc.
Разверните архив (файл myCounter.ctf) к серверу.
Протестируйте счетчик. Можно выполнить вызовы к серверу с помощью УСПОКОИТЕЛЬНОГО API с рабочего стола MATLAB.
rhs = {['myCache'],['myRedisConnection']};
body = mps.json.encoderequest(rhs,'Nargout',1);
options = weboptions;
options.ContentType = 'text';
options.MediaType = 'application/json';
options.Timeout = 30;
for i = 1:5
response = webwrite('http://localhost:9910/myCounter/myCounter', body, options);
x(i) = mps.json.decoderesponse(response);
end
x = [x{:}]x =
1 2 3 4 5Как ожидалось результатами рабочего процесса тестовой среды и рабочего процесса среды развертывания является то же самое.
mps.cache.Controller | mps.cache.DataCache | mps.cache.connect | mps.cache.control | mps.sync.TimedMATFileMutex | mps.sync.TimedRedisMutex | mps.sync.mutex