<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (4.0.28) -->
    <title>RedisService (grails-redis 5.0.0 API)</title>
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="RedisService (grails-redis 5.0.0 API)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../index-all.html">Index</a></li>
        <li><a href="../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../index.html?grails/plugins/redis/RedisService" target="_top">Frames</a></li>
            <li><a href="RedisService.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;<li><a href="#field_summary">Field</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            <li><a href="#field_detail">Field</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>grails.plugins.redis</strong></div>

    <h2 title="[Groovy] Class RedisService" class="title">[Groovy] Class RedisService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li>grails.plugins.redis.RedisService
</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">


            <!-- todo: direct known subclasses -->
            <hr>

<pre>@groovy.util.logging.Slf4j
class RedisService
extends java.lang.Object</pre>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        
            <ul class="blockList">
                <li class="blockList"><a name="field_summary"><!--   --></a>
                    <h3>Field Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table">
                        <caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Modifiers</th>
                            <th class="colLast" scope="col">Name</th>
                            <th class="colLast" scope="col">Description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code><strong>static&nbsp;int</strong></code>&nbsp;</td>
                            <td class="colLast"><code><a href="#KEY_DOES_NOT_EXIST">KEY_DOES_NOT_EXIST</a></code></td>
                            <td class="colLast"></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code><strong>static&nbsp;int</strong></code>&nbsp;</td>
                            <td class="colLast"><code><a href="#NO_EXPIRATION_TTL">NO_EXPIRATION_TTL</a></code></td>
                            <td class="colLast"></td>
                        </tr>
                        
                    </table>
                   </ul>
                </li>
                
            </ul>
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        
         <ul class="blockList"> 
                <li class="blockList"><a name="property_summary"><!--   --></a>
                    <h3>Properties Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Properties Summary table, listing nested classes, and an explanation">
                        <caption><span>Properties</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code><strong>grails.core.GrailsApplication</strong></code>&nbsp;</td>
                            <td class="colLast"><code><a href="#grailsApplication">grailsApplication</a></code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code><strong>java.lang.Object</strong></code>&nbsp;</td>
                            <td class="colLast"><code><a href="#redisPool">redisPool</a></code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code><strong>boolean</strong></code>&nbsp;</td>
                            <td class="colLast"><code><a href="#transactional">transactional</a></code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
                </li>
                
            </ul>
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        
        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
        <ul class="blockList">
                <li class="blockList"><a name="constructor_summary"><!--   --></a>
                    <h3>Constructor Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Constructor and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst">
                                <code><strong><a href="#RedisService()">RedisService</a></strong>()</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
        </ul>
        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type Params</th>
                            <th class="colLast" scope="col">Return Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>void</code></td>
                            <td class="colLast"><code><strong><a href="#deleteKey(java.lang.String)">deleteKey</a></strong>(java.lang.String key)</code><br>Deletes key from redis.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>void</code></td>
                            <td class="colLast"><code><strong><a href="#deleteKeysWithPattern(java.lang.Object)">deleteKeysWithPattern</a></strong>(java.lang.Object keyPattern)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#flushDB()">flushDB</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>protected&nbsp;java.util.List&lt;java.lang.Long&gt;</code></td>
                            <td class="colLast"><code><strong><a href="#getIdListFor(java.lang.String)">getIdListFor</a></strong>(java.lang.String key)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>protected&nbsp;java.util.List</code></td>
                            <td class="colLast"><code><strong><a href="#hydrateDomainObjectsFrom(java.lang.Class, List)">hydrateDomainObjectsFrom</a></strong>(java.lang.Class domainClass, java.util.List&lt;java.lang.Long&gt; idList)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoize(java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoize</a></strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoize(java.lang.String, java.util.Map, groovy.lang.Closure)">memoize</a></strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.util.List&lt;java.lang.Long&gt;</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainIdList(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeDomainIdList</a></strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.util.List&lt;java.lang.Long&gt;</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainIdList(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeDomainIdList</a></strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.util.List</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainList(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeDomainList</a></strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.util.List</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainList(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeDomainList</a></strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainObject(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeDomainObject</a></strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeDomainObject(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeDomainObject</a></strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeHash(java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeHash</a></strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeHash(java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeHash</a></strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeHashField(java.lang.String, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeHashField</a></strong>(java.lang.String key, java.lang.String field, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeHashField(java.lang.String, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeHashField</a></strong>(java.lang.String key, java.lang.String field, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeList(java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeList</a></strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeList(java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeList</a></strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeObject(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeObject</a></strong>(java.lang.Class clazz, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeObject(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeObject</a></strong>(java.lang.Class clazz, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeScore(java.lang.String, java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeScore</a></strong>(java.lang.String key, java.lang.String member, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeScore(java.lang.String, java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeScore</a></strong>(java.lang.String key, java.lang.String member, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeSet(java.lang.String, java.lang.Integer, groovy.lang.Closure)">memoizeSet</a></strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#memoizeSet(java.lang.String, java.util.Map, groovy.lang.Closure)">memoizeSet</a></strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#methodMissing(java.lang.String, java.lang.Object)">methodMissing</a></strong>(java.lang.String name, java.lang.Object args)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Long</code></td>
                            <td class="colLast"><code><strong><a href="#persistDomainId(java.lang.Long, java.lang.String, java.lang.Integer)">persistDomainId</a></strong>(java.lang.Long domainId, java.lang.String key, java.lang.Integer expire)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>void</code></td>
                            <td class="colLast"><code><strong><a href="#propertyMissing(java.lang.String, java.lang.Object)">propertyMissing</a></strong>(java.lang.String name, java.lang.Object value)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#propertyMissing(java.lang.String)">propertyMissing</a></strong>(java.lang.String name)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>protected&nbsp;void</code></td>
                            <td class="colLast"><code><strong><a href="#saveIdListTo(java.lang.String, java.util.List, java.lang.Integer)">saveIdListTo</a></strong>(java.lang.String key, java.util.List domainList, java.lang.Integer expire)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code><a href='../../../grails/plugins/redis/RedisService.html'>RedisService</a></code></td>
                            <td class="colLast"><code><strong><a href="#withConnection(java.lang.String)">withConnection</a></strong>(java.lang.String connectionName)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#withOptionalPipeline(groovy.lang.Closure, java.lang.Boolean)">withOptionalPipeline</a></strong>(groovy.lang.Closure clos, java.lang.Boolean returnAll)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#withOptionalRedis(groovy.lang.Closure)">withOptionalRedis</a></strong>(groovy.lang.Closure clos)</code><br>An implementation of withRedis that suppresses JedisConnectException to support the memoization model</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#withPipeline(groovy.lang.Closure, java.lang.Boolean)">withPipeline</a></strong>(groovy.lang.Closure closure, java.lang.Boolean returnAll)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#withRedis(groovy.lang.Closure)">withRedis</a></strong>(groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code></code></td>
                            <td class="colLast"><code>java.lang.Object</code></td>
                            <td class="colLast"><code><strong><a href="#withTransaction(groovy.lang.Closure)">withTransaction</a></strong>(groovy.lang.Closure closure)</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Inherited Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Methods inherited from class</th>
                            <th class="colLast" scope="col">Name</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>class java.lang.Object</code></td>
                            <td class="colLast"><code>java.lang.Object#equals(java.lang.Object), java.lang.Object#getClass(), java.lang.Object#hashCode(), java.lang.Object#notify(), java.lang.Object#notifyAll(), java.lang.Object#toString(), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int)</code></td>
                        </tr>
                    </table>
                   </ul>
              </li>
                
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            
            <!-- =========== FIELD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="field_detail">
                    <!--   -->
                </a>
                    <h3>Field Detail</h3>
                    
                        <a name="KEY_DOES_NOT_EXIST"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;static&nbsp;final&nbsp;int <strong>KEY_DOES_NOT_EXIST</strong></h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="NO_EXPIRATION_TTL"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;static&nbsp;final&nbsp;int <strong>NO_EXPIRATION_TTL</strong></h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            

            
            <!-- =========== PROPERTY DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="prop_detail">
                    <!--   -->
                </a>
                    <h3>Property Detail</h3>
                    
                        <a name="grailsApplication"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>grails.core.GrailsApplication <strong>grailsApplication</strong></h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="redisPool"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>redisPool</strong></h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="transactional"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>boolean <strong>transactional</strong></h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            

            

            
            <!-- =========== CONSTRUCTOR DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="constructor_detail">
                    <!--   -->
                </a>
                    <h3>Constructor Detail</h3>
                    
                        <a name="RedisService()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><strong>RedisService</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="deleteKey(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>deleteKey</strong>(java.lang.String key)</h4>
                                <p> Deletes key from redis. <DL><DT><B>Parameters:</B></DT><DD><code>key</code> -  The key to delete.</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="deleteKeysWithPattern(java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>deleteKeysWithPattern</strong>(java.lang.Object keyPattern)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="flushDB()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>flushDB</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getIdListFor(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>protected&nbsp;java.util.List&lt;java.lang.Long&gt; <strong>getIdListFor</strong>(java.lang.String key)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="hydrateDomainObjectsFrom(java.lang.Class, List)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>@grails.gorm.transactions.Transactional(readOnly: true)<br>protected&nbsp;java.util.List <strong>hydrateDomainObjectsFrom</strong>(java.lang.Class domainClass, java.util.List&lt;java.lang.Long&gt; idList)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoize(java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoize</strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoize(java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoize</strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainIdList(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.util.List&lt;java.lang.Long&gt; <strong>memoizeDomainIdList</strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainIdList(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.util.List&lt;java.lang.Long&gt; <strong>memoizeDomainIdList</strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainList(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.util.List <strong>memoizeDomainList</strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainList(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.util.List <strong>memoizeDomainList</strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainObject(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeDomainObject</strong>(java.lang.Class domainClass, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeDomainObject(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>@grails.gorm.transactions.Transactional(readOnly: true)<br>java.lang.Object <strong>memoizeDomainObject</strong>(java.lang.Class domainClass, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeHash(java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeHash</strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeHash(java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeHash</strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeHashField(java.lang.String, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeHashField</strong>(java.lang.String key, java.lang.String field, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeHashField(java.lang.String, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeHashField</strong>(java.lang.String key, java.lang.String field, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeList(java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeList</strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeList(java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeList</strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeObject(java.lang.Class, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeObject</strong>(java.lang.Class clazz, java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeObject(java.lang.Class, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeObject</strong>(java.lang.Class clazz, java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeScore(java.lang.String, java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeScore</strong>(java.lang.String key, java.lang.String member, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeScore(java.lang.String, java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeScore</strong>(java.lang.String key, java.lang.String member, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeSet(java.lang.String, java.lang.Integer, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeSet</strong>(java.lang.String key, java.lang.Integer expire, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="memoizeSet(java.lang.String, java.util.Map, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>memoizeSet</strong>(java.lang.String key, java.util.Map options, groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="methodMissing(java.lang.String, java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>methodMissing</strong>(java.lang.String name, java.lang.Object args)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="persistDomainId(java.lang.Long, java.lang.String, java.lang.Integer)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Long <strong>persistDomainId</strong>(java.lang.Long domainId, java.lang.String key, java.lang.Integer expire)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="propertyMissing(java.lang.String, java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>propertyMissing</strong>(java.lang.String name, java.lang.Object value)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="propertyMissing(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>propertyMissing</strong>(java.lang.String name)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="saveIdListTo(java.lang.String, java.util.List, java.lang.Integer)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>protected&nbsp;void <strong>saveIdListTo</strong>(java.lang.String key, java.util.List domainList, java.lang.Integer expire)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="withConnection(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><a href='../../../grails/plugins/redis/RedisService.html'>RedisService</a> <strong>withConnection</strong>(java.lang.String connectionName)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="withOptionalPipeline(groovy.lang.Closure, java.lang.Boolean)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>withOptionalPipeline</strong>(groovy.lang.Closure clos, java.lang.Boolean returnAll)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="withOptionalRedis(groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>withOptionalRedis</strong>(groovy.lang.Closure clos)</h4>
                                <p> An implementation of withRedis that suppresses JedisConnectException to support the memoization model
 @return <DL><DT><B>Parameters:</B></DT><DD>clos</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="withPipeline(groovy.lang.Closure, java.lang.Boolean)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>withPipeline</strong>(groovy.lang.Closure closure, java.lang.Boolean returnAll)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="withRedis(groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>withRedis</strong>(groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="withTransaction(groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>withTransaction</strong>(groovy.lang.Closure closure)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../index-all.html">Index</a></li>
        <li><a href="../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../index.html?grails/plugins/redis/RedisService" target="_top">Frames</a></li>
            <li><a href="RedisService.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;<li><a href="#field_summary">Field</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            <li><a href="#field_detail">Field</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
