comparison xml/ru/docs/stream/ngx_stream_js_module.xml @ 2990:7e83ebfac8ca

Documented the js_shared_dict_zone directive.
author Yaroslav Zhuravlev <yar@nginx.com>
date Thu, 06 Jul 2023 12:31:31 +0100
parents 3cc6e38246b1
children 98bd95a5ac70
comparison
equal deleted inserted replaced
2989:703d3450cd81 2990:7e83ebfac8ca
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8 8
9 <module name="Модуль ngx_stream_js_module" 9 <module name="Модуль ngx_stream_js_module"
10 link="/ru/docs/stream/ngx_stream_js_module.html" 10 link="/ru/docs/stream/ngx_stream_js_module.html"
11 lang="ru" 11 lang="ru"
12 rev="35"> 12 rev="36">
13 13
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать 17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать
605 </para> 605 </para>
606 606
607 </directive> 607 </directive>
608 608
609 609
610 <directive name="js_shared_dict_zone">
611 <syntax>
612 <literal>zone</literal>=<value>имя</value>:<value>размер</value>
613 [<literal>timeout</literal>=<value>время</value>]
614 [<literal>type</literal>=<literal>строка</literal>|<literal>число</literal>]
615 [<literal>evict</literal>]</syntax>
616 <default/>
617 <context>stream</context>
618 <appeared-in>0.8.0</appeared-in>
619
620 <para>
621 Задаёт <value>имя</value> и <value>размер</value> зоны разделяемой памяти,
622 в которой хранится словарь ключей и значений,
623 разделяемый между рабочими процессами.
624 </para>
625
626 <para>
627 По умолчанию в качестве ключа и значения используется строка.
628 Необязательный параметр <literal>type</literal>
629 позволяет изменить тип значения на число.
630 </para>
631
632 <para>
633 Необязательный параметр <literal>timeout</literal> задаёт время,
634 по завершении которого все записи в словаре удаляются из зоны.
635 </para>
636
637 <para>
638 Необязательный параметр <literal>evict</literal> удаляет самую старую
639 пару ключ-значение при переполнении зоны.
640 </para>
641
642 <para>
643 Пример:
644 <example>
645 example.conf:
646 # Создаётся словарь размером 1Мб со строковыми значениями,
647 # пары ключ-значение удаляются при отсутствии активности в течение 60 секунд:
648 js_shared_dict_zone zone=foo:1M timeout=60s;
649
650 # Создаётся словарь размером 512Кб со строковыми значениями,
651 # удаляется самая старая пара ключ-значение при переполнении зоны:
652 js_shared_dict_zone zone=bar:512K timeout=30s evict;
653
654 # Создаётся постоянный словарь размером 32Кб с числовыми значениями:
655 js_shared_dict_zone zone=num:32k type=number;
656
657 example.js:
658 function get(r) {
659 r.return(200, ngx.shared.foo.get(r.args.key));
660 }
661
662 function set(r) {
663 r.return(200, ngx.shared.foo.set(r.args.key, r.args.value));
664 }
665
666 function delete(r) {
667 r.return(200, ngx.shared.bar.delete(r.args.key));
668 }
669
670 function increment(r) {
671 r.return(200, ngx.shared.num.incr(r.args.key, 2));
672 }
673 </example>
674 </para>
675
676 </directive>
677
678
610 <directive name="js_var"> 679 <directive name="js_var">
611 <syntax><value>$переменная</value> [<value>значение</value>]</syntax> 680 <syntax><value>$переменная</value> [<value>значение</value>]</syntax>
612 <default/> 681 <default/>
613 <context>stream</context> 682 <context>stream</context>
614 <context>server</context> 683 <context>server</context>