annotate xml/en/docs/stream/ngx_stream_keyval_module.xml @ 2328:9aa6f3f76055

Described synchronization of delete operations in keyval module.
author Vladimir Homutov <vl@nginx.com>
date Wed, 09 Jan 2019 12:12:33 +0300
parents 283b1e67eaa6
children dd3ac7eefeed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
3 <!--
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
4 Copyright (C) Nginx, Inc.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
5 -->
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
6
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
9 <module name="Module ngx_stream_keyval_module"
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
10 link="/en/docs/stream/ngx_stream_keyval_module.html"
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 lang="en"
2328
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
12 rev="4">
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
13
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14 <section id="summary">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16 <para>
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
17 The <literal>ngx_stream_keyval_module</literal> module (1.13.7) creates variables
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
18 with values taken from key-value pairs managed by the
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
19 <link doc="../http/ngx_http_api_module.xml" id="stream_keyvals_">API</link>.
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 <para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
23 <note>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
24 This module is available as part of our
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
25 <commercial_version>commercial subscription</commercial_version>.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
26 </note>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 </section>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
31
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
32 <section id="example" name="Example Configuration">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
33
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
34 <para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
35 <example>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
36 http {
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
37
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
38 server {
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39 ...
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
40 location /api {
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
41 api write=on;
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
42 }
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
43 }
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
44 }
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
45
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
46 stream {
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
47
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
48 keyval_zone zone=one:32k state=one.keyval;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
49 keyval $ssl_server_name $name zone=one;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
50
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
51 server {
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
52 listen 12345 ssl;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
53 proxy_pass $name;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
54 ssl_certificate /usr/local/nginx/conf/cert.pem;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
55 ssl_certificate_key /usr/local/nginx/conf/cert.key;
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
56 }
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
57 }
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
58 </example>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
59 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
60
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
61 </section>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
62
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
63
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
64 <section id="directives" name="Directives">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
65
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
66 <directive name="keyval">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
67 <syntax>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
68 <value>key</value>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
69 <value>$variable</value>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
70 <literal>zone</literal>=<value>name</value></syntax>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
71 <default/>
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
72 <context>stream</context>
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
73
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
74 <para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75 Creates a new <value>$variable</value> whose value
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76 is looked up by the <value>key</value> in the key-value database.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 Strings are matched ignoring the case.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78 The database is stored in a shared memory zone
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
79 specified by the <literal>zone</literal> parameter.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
80 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
82 </directive>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
83
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
84
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
85 <directive name="keyval_zone">
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
86 <syntax>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
87 <literal>zone</literal>=<value>name</value>:<value>size</value>
2230
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
88 [<literal>state</literal>=<value>file</value>]
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
89 [<literal>timeout</literal>=<value>time</value>]
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
90 [<literal>sync</literal>]</syntax>
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
91 <default/>
2082
fee7627f6a5a Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2030
diff changeset
92 <context>stream</context>
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
93
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
94 <para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
95 Sets the <value>name</value> and <value>size</value> of the shared memory zone
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
96 that keeps the key-value database.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
97 Key-value pairs are managed by the
2192
e1337bf9f63b Corrected link in stream keyval module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2082
diff changeset
98 <link doc="../http/ngx_http_api_module.xml" id="stream_keyvals_">API</link>.
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
99 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
100
2230
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
101 <para id="keyval_state">
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
102 The optional <literal>state</literal> parameter specifies a <value>file</value>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
103 that keeps the current state of the key-value database in the JSON format
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
104 and makes it persistent across nginx restarts.
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
105 </para>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
106
2230
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
107 <para id="keyval_timeout">
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
108 The optional <literal>timeout</literal> parameter (1.15.0) sets
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
109 the time after which key-value pairs are removed from the zone.
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
110 </para>
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
111
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
112 <para id="keyval_sync">
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
113 The optional <literal>sync</literal> parameter (1.15.0) enables
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
114 <link doc="ngx_stream_zone_sync_module.xml" id="zone_sync">synchronization</link>
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
115 of the shared memory zone.
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
116 The synchronization requires the
2328
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
117 <literal>timeout</literal> parameter to be set.
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
118 <note>
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
119 If the synchronization is enabled, removal of key-value pairs (no matter
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
120 <link doc="../http/ngx_http_api_module.xml" id="patchStreamKeyvalZoneKeyValue">one</link>
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
121 or
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
122 <link doc="../http/ngx_http_api_module.xml" id="deleteStreamKeyvalZoneData">all</link>)
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
123 will be performed only on a target cluster node.
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
124 The same key-value pairs on other cluster nodes
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
125 will be removed upon <literal>timeout</literal>.
9aa6f3f76055 Described synchronization of delete operations in keyval module.
Vladimir Homutov <vl@nginx.com>
parents: 2230
diff changeset
126 </note>
2230
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
127 </para>
283b1e67eaa6 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents: 2192
diff changeset
128
2028
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
129 </directive>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
130
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131 </section>
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
132
5c55b7054b58 Updated docs for the upcoming NGINX Plus release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
133 </module>