Персистентность предоставляет механизм данным кэша между вызовами кода 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