<pedrocorreia.net ⁄>

<Simple way to memcache (almost) all database queries ⁄ >

clicks: 2256 2256 2010-01-10 2010-01-10 goto programacao myNews programacao  Bookmark This Bookmark This

Most common way to access data is a database. Most common way to speed this up - Memcached.
As a quite young CakePHP developer I had a bit of headache "how to cache queries effectively?". Now I know the way, so I share. Feel free to disagree, upgrade and so on.
Text from now on assumes you have Memcached configured as default caching engine.

The goal was to create simple and fast yet safe and universal caching for my models. Caching collections takes long time. Of course it allows to make much less calls to a model, but is that what we really want?

What my code does not do is saving memory. If you often ask your database about crossing sets of data, don't use it. Code below caches each find result, which is OK if those results does not overlap to much. If they do, you'll end with the same data in the memory many many times, as a part of different result sets.

I keep this code in app_model.php; that way setting cache to false in models allows me to use more specialized caching strategies where needed, and have this one wherever it is sufficient

este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:


Subscribe News RSS  Subscribe News Updates by E-mail

myNews <myNews show="rand" cat="programacao" ⁄>

RouterJs: easy routing for your ajax Web applications new ...

RouterJs is a simple router for your ajax web apps. It's build upon History.js which means that Rout (...)

clicks: 15680 15680 2012-05-14 2012-05-14 goto url (new window) haithembelhaj.g... goto myNews programacao

Backbone computed properties new ...

This gist shows one way to implement read- and write-enabled computed properties on a Backbone Model (...)

clicks: 15490 15490 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao

Create Instagram Filters With PHP new ...

In this tutorial, I'll demonstrate how to create vintage (just like Instagram does) photos with PHP (...)

clicks: 15151 15151 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... goto myNews programacao

Android Query new ...

Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI el (...)

clicks: 15718 15718 2012-05-12 2012-05-12 goto url (new window) code.google.com... goto myNews programacao

HTML5 jQuery Paint Plugin new ...

Websanova Paint is a HTML5 canvas based jQuery plugin. It allows you to free paint on a canvas area (...)

clicks: 26216 26216 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... goto myNews programacao

Real-time Applications With Node.js and Socket.IO new ...

Hey everyone! Sorry about the long pause since the last blog post, life has been quite hectic for th (...)

clicks: 15571 15571 2012-05-11 2012-05-11 goto url (new window) codingcookies.c... goto myNews programacao

Sass vs. LESS vs. Stylus: Preprocessor Shootout new ...

CSS3 preprocessors are languages written for the sole purpose of adding cool, inventive features to (...)

clicks: 14900 14900 2012-05-11 2012-05-11 goto url (new window) net.tutsplus.co... goto myNews programacao

Gettings to know Backbone.ks new ...

In this series, we're going to learn how to build a fully functional contacts manager using Backbone (...)

clicks: 14547 14547 2012-05-10 2012-05-10 goto url (new window) net.tutsplus.co... goto myNews programacao