Blog

ColdBox REST API Caching

Maria Jose Herrera August 19, 2024

Spread the word

Maria Jose Herrera

August 19, 2024

Spread the word


Share your thoughts

Enhance your project performance!

Caching is a powerful technique to boost the performance of your REST API. By reducing server load and speeding up response times, caching enhances the efficiency and scalability of your API. ColdBox offers advanced caching capabilities to optimize your API's performance.

ColdBox comes bundled with the CacheBox framework. CacheBox is an enterprise cache and cache aggregator where you can aggregate different caching engines or types of the same engine into one umbrella. It gives you built-in logging (via LogBox), an event model, synchronization, shutdown/startup procedures, reporting, interaction consoles, and a cache-agnostic API.

Become an Expert

Key Benefits

  • Event Caching: Cache entire responses for specific resources to minimize repeated processing. This reduces the load on your server and improves response times for frequently accessed data.
  • Flexible Configuration: Easily configure cache duration and behavior using annotations and settings. This flexibility lets you fine-tune caching strategies according to your application’s needs.
  • Scalability: CacheBox stores cached data in various backends, including distributed systems like Couchbase clusters. This scalability ensures that your caching solution grows with your application.

Learn More

Implementing Caching in ColdBox

Enhancing performance through caching in ColdBox involves straightforward setup and configuration:

  • Event Caching: Enable caching for specific actions by adding the cache=true annotation.

    function showEntry(event, rc, prc) cache="true" {
        prc.qEntry = getEntryService().getEntry( rc.entryId ?: 0);
    	  return prc.qEntry.getMemento();
    }
    
  • Configuring Cache Settings: Adjust cache duration and behavior to suit your needs.

    function getCachedData(event, rc, prc) cache=true cacheTimeout=60{
        prc.qEntry = getEntryService().getEntry( rc.entryId ?: 0);
    	  return prc.qEntry.getMemento();
    }
    

Join Us

Are you looking to improve the performance of your ColdBox REST APIs? Do you want to learn how to implement effective caching strategies? If so, this is your opportunity to join us at our 2-day ColdBox REST API workshop from September 28-29, 2024 in Las Vegas, Nevada before Adobe CFSummit 2024.

Gain hands-on experience and personalized training to enhance your projects and get more tips and tricks to secure your projects. Register now and start optimizing your APIs for speed and efficiency!

Register NowI

Add Your Comment

Recent Entries

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

Everyone knows the datasource password should not be sitting in plain text in a config file. Everyone has also, at some point, shipped exactly that, because the alternative was a pile of environment variable plumbing that nobody wanted to build on a deadline. x

Luis Majano
Luis Majano
September 08, 2026
BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

Here's a bug that's easy to miss until it bites someone in production: an agent turn asks for two tool calls at once, both need human approval, and only the first one actually suspends. The second one gets silently skipped. Not rejected, not queued, just gone. That's what happened before 3.4.0, and it's fixed now with batched tool-call approvals.

Luis Majano
Luis Majano
September 08, 2026
Getting Started with BoxLang as an Alternative CFML Engine

Getting Started with BoxLang as an Alternative CFML Engine

If you have an existing ColdFusion or Lucee application, one of the first questions you may have about BoxLang is probably not:

“Should I rewrite my application in BoxLang?”

It is much simpler:

“Can BoxLang run the CFML application I already have?”

That was the focus of veteran CFML troubleshooter Charlie Arehart’s session at Into the Box 2026, Getting Started with BoxLang as an Alternative CFML Engine.

Cristobal Escobar
Cristobal Escobar
September 08, 2026