Caching using environment variables with the 'keydependencies' parameter
In this example, we cache query results as datatables depending on a querystring variable. For each value of the querystring parameter 'ct', a new cache value is added.
Try this code with different contenttype numbers and see the resulting cache key differ.
| Smartsite SXML |  Copy Code | 
|---|---|
| <se:cache save="cached=this.iscached(), key=this.getcachekey()" 
    keydependencies="ct={request.query(ct, default=4)}" 
    resulttype="none" 
    trim="both" >
    <se:sqlquery sql="select nr, title from {channel.view()} where contenttype=?:ct" 
        resulttype="datatable">
        <se:parameters>
            <se:parameter name="params">
                <se:collection>
                    <se:member name="ct" type="integer">{request.query(ct, default=4)}</se:member>
                </se:collection>
            </se:parameter>
        </se:parameters>
    </se:sqlquery>
</se:cache>
Cached: {buffer.get(cached)} under key {buffer.get(key)}
{cache.get($key)} | |
| Example Result |  Copy Code | 
|---|---|
| Cached: true under key 2EF0CDFECD1983946B6A6815D4970F3A SXMLDataTable (Name=sqlquery; Rows=312; Columns=nr,title) | |