summaryrefslogtreecommitdiff
path: root/docs/html/api/Cheetah.CacheRegion.html
blob: a7d5106fb35305697b4533a41f89dc9f4e29f284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Cheetah.CacheRegion module &#8212; Cheetah3 - The Python-Powered Template Engine</title>
    <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '3.1.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" /> 
  </head>
  <body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">Cheetah3 - The Python-Powered Template Engine</a> &#187;</li> 
      </ul>
    </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/api/Cheetah.CacheRegion.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="module-Cheetah.CacheRegion">
<span id="cheetah-cacheregion-module"></span><h1>Cheetah.CacheRegion module<a class="headerlink" href="#module-Cheetah.CacheRegion" title="Permalink to this headline">¶</a></h1>
<p>Cache holder classes for Cheetah:</p>
<p>Cache regions are defined using the #cache Cheetah directive. Each
cache region can be viewed as a dictionary (keyed by cacheRegionID)
handling at least one cache item (the default one). It’s possible to add
cacheItems in a region by using the <cite>varyBy</cite> #cache directive parameter as
in the following example:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>#def getArticle
   this is the article content.
#end def

#cache varyBy=$getArticleID()
   $getArticle($getArticleID())
#end cache
</pre></div>
</div>
<p>The code above will generate a CacheRegion and add new cacheItem for each value
of $getArticleID().</p>
<dl class="class">
<dt id="Cheetah.CacheRegion.CacheItem">
<em class="property">class </em><code class="descclassname">Cheetah.CacheRegion.</code><code class="descname">CacheItem</code><span class="sig-paren">(</span><em>cacheItemID</em>, <em>cacheStore</em><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
<p>A CacheItem is a container storing:</p>
<blockquote>
<div><ul class="simple">
<li>cacheID (string)</li>
<li>refreshTime (timestamp or None) : last time the cache was refreshed</li>
<li>data (string) : the content of the cache</li>
</ul>
</div></blockquote>
<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.clear">
<code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.clear" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.getData">
<code class="descname">getData</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.getData" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.getExpiryTime">
<code class="descname">getExpiryTime</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.getExpiryTime" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.getRefreshTime">
<code class="descname">getRefreshTime</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.getRefreshTime" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.hasExpired">
<code class="descname">hasExpired</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.hasExpired" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.renderOutput">
<code class="descname">renderOutput</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.renderOutput" title="Permalink to this definition">¶</a></dt>
<dd><p>Can be overridden to implement edge-caching</p>
</dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.setData">
<code class="descname">setData</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.setData" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheItem.setExpiryTime">
<code class="descname">setExpiryTime</code><span class="sig-paren">(</span><em>time</em><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheItem.setExpiryTime" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

<dl class="class">
<dt id="Cheetah.CacheRegion.CacheRegion">
<em class="property">class </em><code class="descclassname">Cheetah.CacheRegion.</code><code class="descname">CacheRegion</code><span class="sig-paren">(</span><em>regionID</em>, <em>templateCacheIdPrefix=''</em>, <em>cacheStore=None</em><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheRegion" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
<p>A <cite>CacheRegion</cite> stores some <cite>CacheItem</cite> instances.</p>
<p>This implementation stores the data in the memory of the current process.
If you need a more advanced data store, create a cacheStore class that
works with Cheetah’s CacheStore protocol and provide it as the cacheStore
argument to __init__.  For example you could use
Cheetah.CacheStore.MemcachedCacheStore, a wrapper around the Python
memcached API (<a class="reference external" href="http://www.danga.com/memcached">http://www.danga.com/memcached</a>).</p>
<dl class="method">
<dt id="Cheetah.CacheRegion.CacheRegion.clear">
<code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheRegion.clear" title="Permalink to this definition">¶</a></dt>
<dd><p>drop all the caches stored in this cache region</p>
</dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheRegion.getCacheItem">
<code class="descname">getCacheItem</code><span class="sig-paren">(</span><em>cacheItemID</em><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheRegion.getCacheItem" title="Permalink to this definition">¶</a></dt>
<dd><p>Lazy access to a cacheItem</p>
<p>Try to find a cache in the stored caches. If it doesn’t
exist, it’s created.</p>
<p>Returns a <cite>CacheItem</cite> instance.</p>
</dd></dl>

<dl class="method">
<dt id="Cheetah.CacheRegion.CacheRegion.isNew">
<code class="descname">isNew</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#Cheetah.CacheRegion.CacheRegion.isNew" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</div>


          </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">Cheetah3 - The Python-Powered Template Engine</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2017, Oleg Broytman; 2009-2012, R. Tyler Croy; 2001-2008, The Cheetah Development Team..
      Last updated on Mar 03, 2018.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.5.
    </div>
  </body>
</html>