comparison xml/ru/docs/http/ngx_http_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 9719a0184a67
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_http_js_module" 9 <module name="Модуль ngx_http_js_module"
10 link="/ru/docs/http/ngx_http_js_module.html" 10 link="/ru/docs/http/ngx_http_js_module.html"
11 lang="ru" 11 lang="ru"
12 rev="37"> 12 rev="38">
13 13
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 Модуль <literal>ngx_http_js_module</literal> позволяет задавать 17 Модуль <literal>ngx_http_js_module</literal> позволяет задавать
622 </para> 622 </para>
623 623
624 </directive> 624 </directive>
625 625
626 626
627 <directive name="js_shared_dict_zone">
628 <syntax>
629 <literal>zone</literal>=<value>имя</value>:<value>размер</value>
630 [<literal>timeout</literal>=<value>время</value>]
631 [<literal>type</literal>=<literal>строка</literal>|<literal>число</literal>]
632 [<literal>evict</literal>]</syntax>
633 <default/>
634 <context>http</context>
635 <appeared-in>0.8.0</appeared-in>
636
637 <para>
638 Задаёт <value>имя</value> и <value>размер</value> зоны разделяемой памяти,
639 в которой хранится словарь ключей и значений,
640 разделяемый между рабочими процессами.
641 </para>
642
643 <para>
644 По умолчанию в качестве ключа и значения используется строка.
645 Необязательный параметр <literal>type</literal>
646 позволяет изменить тип значения на число.
647 </para>
648
649 <para>
650 Необязательный параметр <literal>timeout</literal> задаёт время,
651 по завершении которого все записи в словаре удаляются из зоны.
652 </para>
653
654 <para>
655 Необязательный параметр <literal>evict</literal> удаляет самую старую
656 пару ключ-значение при переполнении зоны.
657 </para>
658
659 <para>
660 Пример:
661 <example>
662 example.conf:
663 # Создаётся словарь размером 1Мб со строковыми значениями,
664 # пары ключ-значение удаляются при отсутствии активности в течение 60 секунд:
665 js_shared_dict_zone zone=foo:1M timeout=60s;
666
667 # Создаётся словарь размером 512Кб со строковыми значениями,
668 # удаляется самая старая пара ключ-значение при переполнении зоны:
669 js_shared_dict_zone zone=bar:512K timeout=30s evict;
670
671 # Создаётся постоянный словарь размером 32Кб с числовыми значениями:
672 js_shared_dict_zone zone=num:32k type=number;
673
674 example.js:
675 function get(r) {
676 r.return(200, ngx.shared.foo.get(r.args.key));
677 }
678
679 function set(r) {
680 r.return(200, ngx.shared.foo.set(r.args.key, r.args.value));
681 }
682
683 function delete(r) {
684 r.return(200, ngx.shared.bar.delete(r.args.key));
685 }
686
687 function increment(r) {
688 r.return(200, ngx.shared.num.incr(r.args.key, 2));
689 }
690 </example>
691 </para>
692
693 </directive>
694
695
627 <directive name="js_var"> 696 <directive name="js_var">
628 <syntax><value>$переменная</value> [<value>значение</value>]</syntax> 697 <syntax><value>$переменная</value> [<value>значение</value>]</syntax>
629 <default/> 698 <default/>
630 <context>http</context> 699 <context>http</context>
631 <context>server</context> 700 <context>server</context>