bunkerweb/docs/modules/resty.session.shm.html
Théophile Diot d8ee65aa70 Squashed 'src/deps/src/lua-resty-session/' changes from 8b5f8752f..5f2aed616
5f2aed616 chore(*): release 4.0.5
f4980f0e1 fix(dshm/memcached): add a missing return parameter as otherwise pool parameters are not respected

git-subtree-dir: src/deps/src/lua-resty-session
git-subtree-split: 5f2aed616d16fa7ca04dc40e23d6941740cd634d
2023-09-15 14:22:59 +02:00

365 lines
11 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Session Library for OpenResty Documentation</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>resty.session</h1>
<ul>
<li><a href="../index.html">Index</a></li>
</ul>
<h2>Contents</h2>
<ul>
<li><a href="#Configuration">Configuration </a></li>
<li><a href="#Constructors">Constructors </a></li>
<li><a href="#Storage">Storage </a></li>
</ul>
<h2>Modules</h2>
<ul class="nowrap">
<li><a href="../modules/resty.session.html">resty.session</a></li>
<li><a href="../modules/resty.session.dshm.html">resty.session.dshm</a></li>
<li><a href="../modules/resty.session.file.html">resty.session.file</a></li>
<li><a href="../modules/resty.session.file.thread.html">resty.session.file.thread</a></li>
<li><a href="../modules/resty.session.file.utils.html">resty.session.file.utils</a></li>
<li><a href="../modules/resty.session.memcached.html">resty.session.memcached</a></li>
<li><a href="../modules/resty.session.mysql.html">resty.session.mysql</a></li>
<li><a href="../modules/resty.session.postgres.html">resty.session.postgres</a></li>
<li><a href="../modules/resty.session.redis.html">resty.session.redis</a></li>
<li><a href="../modules/resty.session.redis.cluster.html">resty.session.redis.cluster</a></li>
<li><a href="../modules/resty.session.redis.common.html">resty.session.redis.common</a></li>
<li><a href="../modules/resty.session.redis.sentinel.html">resty.session.redis.sentinel</a></li>
<li><strong>resty.session.shm</strong></li>
<li><a href="../modules/resty.session.utils.html">resty.session.utils</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>resty.session.shm</code></h1>
<p>Shared Memory (SHM) backend for session library</p>
<p>
</p>
<h2><a href="#Configuration">Configuration </a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap><a href="#configuration">configuration</a></td>
<td class="summary">Shared memory storage backend configuration</td>
</tr>
</table>
<h2><a href="#Constructors">Constructors </a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap><a href="#module.new">module.new ([configuration])</a></td>
<td class="summary">Create a SHM storage.</td>
</tr>
</table>
<h2><a href="#Storage">Storage </a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap><a href="#instance:set">instance:set (name, key, value, ttl, current_time[, old_key], stale_ttl[, metadata], remember)</a></td>
<td class="summary">Store session data.</td>
</tr>
<tr>
<td class="name" nowrap><a href="#instance:get">instance:get (name, key)</a></td>
<td class="summary">Retrieve session data.</td>
</tr>
<tr>
<td class="name" nowrap><a href="#instance:delete">instance:delete (name, key[, metadata])</a></td>
<td class="summary">Delete session data.</td>
</tr>
<tr>
<td class="name" nowrap><a href="#instance:read_metadata">instance:read_metadata (name, audience, subject, current_time)</a></td>
<td class="summary">Read session metadata.</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header "><a name="Configuration"></a>Configuration </h2>
<dl class="function">
<dt>
<a name = "configuration"></a>
<strong>configuration</strong>
</dt>
<dd>
Shared memory storage backend configuration
<h3>Fields:</h3>
<ul>
<li><span class="parameter">prefix</span>
Prefix for the keys stored in SHM.
</li>
<li><span class="parameter">suffix</span>
Suffix for the keys stored in SHM.
</li>
<li><span class="parameter">zone</span>
A name of shared memory zone (defaults to <code>sessions</code>).
</li>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Constructors"></a>Constructors </h2>
<dl class="function">
<dt>
<a name = "module.new"></a>
<strong>module.new ([configuration])</strong>
</dt>
<dd>
Create a SHM storage. </p>
<p> This creates a new shared memory storage instance.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">configuration</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span>
shm storage <a href="../modules/resty.session.shm.html#configuration">configuration</a>
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span>
shm storage instance
</ol>
</dd>
</dl>
<h2 class="section-header "><a name="Storage"></a>Storage </h2>
<dl class="function">
<dt>
<a name = "instance:set"></a>
<strong>instance:set (name, key, value, ttl, current_time[, old_key], stale_ttl[, metadata], remember)</strong>
</dt>
<dd>
Store session data.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
cookie name
</li>
<li><span class="parameter">key</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session key
</li>
<li><span class="parameter">value</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session value
</li>
<li><span class="parameter">ttl</span>
<span class="types"><span class="type">number</span></span>
session ttl
</li>
<li><span class="parameter">current_time</span>
<span class="types"><span class="type">number</span></span>
current time
</li>
<li><span class="parameter">old_key</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
old session id
(<em>optional</em>)
</li>
<li><span class="parameter">stale_ttl</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
stale ttl
</li>
<li><span class="parameter">metadata</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span>
table of metadata
(<em>optional</em>)
</li>
<li><span class="parameter">remember</span>
<span class="types"><span class="type">boolean</span></span>
whether storing persistent session or not
</li>
</ul>
<h3>Returns:</h3>
<ol>
<li>
<span class="types"><span class="type">true</span> or <span class="type">nil</span></span>
ok</li>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
error message</li>
</ol>
</dd>
<dt>
<a name = "instance:get"></a>
<strong>instance:get (name, key)</strong>
</dt>
<dd>
Retrieve session data.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
cookie name
</li>
<li><span class="parameter">key</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session key
</li>
</ul>
<h3>Returns:</h3>
<ol>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a> or <span class="type">nil</span></span>
session data</li>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
error message</li>
</ol>
</dd>
<dt>
<a name = "instance:delete"></a>
<strong>instance:delete (name, key[, metadata])</strong>
</dt>
<dd>
Delete session data.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
cookie name
</li>
<li><span class="parameter">key</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session key
</li>
<li><span class="parameter">metadata</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span>
session meta data
(<em>optional</em>)
</li>
</ul>
<h3>Returns:</h3>
<ol>
<li>
<span class="types"><span class="type">boolean</span> or <span class="type">nil</span></span>
session data</li>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
error message</li>
</ol>
</dd>
<dt>
<a name = "instance:read_metadata"></a>
<strong>instance:read_metadata (name, audience, subject, current_time)</strong>
</dt>
<dd>
Read session metadata.
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">name</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
cookie name
</li>
<li><span class="parameter">audience</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session key
</li>
<li><span class="parameter">subject</span>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
session key
</li>
<li><span class="parameter">current_time</span>
<span class="types"><span class="type">number</span></span>
current time
</li>
</ul>
<h3>Returns:</h3>
<ol>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a> or <span class="type">nil</span></span>
session metadata</li>
<li>
<span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
error message</li>
</ol>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/lunarmodules/LDoc">LDoc 1.5.0</a></i>
<i style="float:right;">Last updated 2023-08-16 18:11:28 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>