6.7. Generic Cache Service

RobotNET Generic Cache Service сервис обслуживает хэш-таблицу построенную по алгоритму закрытого хеширования в оперативной памяти и доступную по сетевому протоколу пиринговой сети. Он обеспечивает функции по хранению значений, ассоциированных с ключами. Доступ к хэшу производится через простой сетевой протокол, клиентом может выступать программа, написанная на произвольном языке программирования совместимом с RobotNET (например C/C++/C#) или командную строку (или PowerShell) используя RobotNET Cache Utility.

RobotNET Generic Cache Service (v.0.9.*)

Usage:
cache.exe	[/start|stop|restart]|[/service:COMMAND]

Arguments:
/start			Starts the console application
/stop			Stops the console application
/restart		Restarts the console application
/service:[COMMAND]	Service command to execute
/auto:[COMMAND]		Auto Service/Console select

Service commands description:
query		Retrieves and displays the current
		service configuration
describe	Updates the service description
install		Installs a service in the SCM database
uninstall	Deletes a service from the SCM database
auto		Changes service start type to AUTO
manual		Changes service start type to MANUAL
disable		Disables the service
enable		Enables the service
recovery	Enables a recovery mode
start		Starts the service if possible
stop		Stops the service
restart		Restarts the service
dacl		Updates the service DACL to grant start, stop,
		delete, and read control access to the Guest account

Базовые настройки управления сервисом находятся в конфигурационном файле config\kernel.xml (секция gbin.cache.exe):

<!-- Служба кеширования данных -->
<gbin.cache.exe ref0="~proto" ref1="~app-stack" ref2="~roles/service">
	<proto>{apps/GCache/proto}</proto>
	<display>RobotNET Generic Cache Service</display>
	<describe>Service provides managed memory cache.</describe>
	<bin>gbin\cache.exe</bin>
	<!-- Транспортные настройки службы -->
	<transport0><bind-host>\\.\pipe\{namespace}{apps/GCache/proto}</bind-host></transport0>
	<transport1><bind-host>127.0.0.107</bind-host></transport1>
	<!-- Настройки хеш-таблицы кеша -->
	<keys>МАКСИМАЛЬНОЕ КОЛИЧЕСТВО КЛЮЧЕЙ:РАЗМЕР КЛАСТЕРА</keys>
	<!-- Периодичность запуска (мс) сбощика мусора -->
	<gc>ВРЕМЯ В МИЛЛИСЕКУНДАХ</gc>
	<!-- Периодичность опроса (мс) ключа при ожидающем чтении, 
	     НО НЕ БОЛЕЕ 1/2 ВРЕМЕНИ БЕЗДЕЙСТВИЯ БАЗОВОГО ТРАНСПОРТНОГО МОДУЛЯ -->
	<pending>10000</pending>
</gbin.cache.exe>

Пример вывода телеметрии RobotNET Generic Cache Service:

Exploring [5205354420]...OK (1083.789 ms)!
Reply from [5205354420]: 64192 bytes, 174.774 ms.

State...                    OK                   Mon Dec 12 12:35:51 2022 +0300
Monitor...            BIDIRECT                           Uptime      0.00:01:17
Bind...                     OK

gCACHE   Used       88.00 k: 118.93KB (  88.00 k: 118.93KB)/  64.00Kk:   4.50MB
         Utilized    0.00 k:  63.91Kk
         Stack      88.00 r Sx:   0.00 r/s (  23.00 r/s) [                  0%]
         Created   295.00 r Sx:   3.00 r/s (  29.00 r/s) [*                10%]
         Deleted     0.00 r Sx:   0.00 r/s (   0.00 r/s) [                  0%]
         Read      102.00 r Sx:   3.00 r/s (  15.00 r/s) [***              20%]
         Missed     18.00 r Sx:   0.00 r/s (   8.00 r/s) [                  0%]

GATEWAY  Used        5.00 c (   5.00 c)/ 256.00 c
         Created    91.00 c Sx:   4.00 c/s (  10.00 c/s) [******           40%]
         Deleted    86.00 c Sx:   2.00 c/s (   8.00 c/s) [***              25%]
         Refused     0.00 c Sx:   0.00 c/s (   0.00 c/s) [                  0%]
         ~S        439.28KB Sx:   2.30KB/s (  85.42KB/s) [                  3%]
         ~R        782.31KB Sx:  13.38KB/s (  73.46KB/s) [**               18%]
         ~T          1.19MB Sx:  15.68KB/s ( 115.84KB/s) [**               14%]
 
Network statistics for [5205354420]:
	Requests: Sent = 1, Received = 1, Lost = 0 (0.00% loss)
	Bytes: Sent =   28.01KB, Received =   63.59KB
	Speed: Send =  160.27KB/s, Receive =  363.87KB/s
Approximate round trip times in milli-seconds:
	Min = 174.774 ms, Max = 174.774 ms, Average = 174.774 ms