Ah, ok, got it.

Thank you!

Another question on removing an item:

$cachedFilter->getOptions()->storage->removeItem($cachedFilter->generateKey('filter'));

Seems a bit too much, is there an easy way?



Von: Julian Vidal [mailto:[email protected]] 
Gesendet: Mittwoch, 4. Juni 2014 21:37
An: Marc Tempelmeier
Cc: Zend Framework General
Betreff: Re: [fw-general] Zend\Cache\Pattern

Normally you'd call $filter->filter('some/path') and this would return a new 
path. Let's say you want to cache this call. In this case you have two syntaxes 
available:

$cacheOuput = $cachedFilter->filter('some/path');

// or 

$cacheOutput = $cachedFilter->call("filter", array('some/path')); 

Both are saying "Call the method filter() in the object that I specified in 
$cachedFilter's configuration and pass it the string 'some/path' as its 
parameter".

Every time you pass it another string, it will generate another (different) 
cache entry.

If you look at the source, the ObjectPattern is just a subclass of the 
CallbackPattern. More specifically, look at the call method and see how the 
keys are generated. This should become clear then.

On the other hand, st this up in your dev environment with a FileSystem adapter 
and cache just one call. Look inside the cache file. Now cache a second, 
different, call. Look inside the cache file. This will make it perfectly clear 
what's happening.


On Wed, Jun 4, 2014 at 5:18 AM, Marc Tempelmeier 
<[email protected]> wrote:
Hmm, I don´t get the parameter in the array, is there one cache entry per 
parameter?
 
$cachedFilter->call("filter", array('path1));
$cachedFilter->call("filter", array('path2));
 
Generates 2 cache entries?
 
 
Von: Julian Vidal [mailto:[email protected]] 
Gesendet: Mittwoch, 4. Juni 2014 10:22

An: Marc Tempelmeier
Cc: Zend Framework General
Betreff: Re: [fw-general] Zend\Cache\Pattern
 
There's one in the documentation but you need to scroll all the way down as the 
first example at the top only show how to create it and not saving and loading: 
http://framework.zend.com/manual/2.1/en/modules/zend.cache.pattern.object-cache.html
 
What's strange in this example is that this filter is so fast that it won't 
need caching but the idea is that you'd use this pattern while calling a method 
that takes a considerable time to execute.
 
$filter       = new Zend\Filter\RealPath();
$cachedFilter = Zend\Cache\PatternFactory::factory('object', array(
    'object'     => $filter,
    'object_key' => 'RealpathFilter',
    'storage'    => 'apc',
 
    // The realpath filter doesn't output anything
    // so the output don't need to be caught and cached
    'cache_output' => false,
));
 


$path = $cachedFilter->call("filter", array('/www/var/path/../../mypath'));
// OR
$path = $cachedFilter->filter('/www/var/path/../../mypath');
 
On Wed, Jun 4, 2014 at 4:07 AM, Marc Tempelmeier 
<[email protected]> wrote:
Can you provide a simple example for hmmm, the ObjectCache incl. saving and 
loading?
 
Von: Julian Vidal [mailto:[email protected]] 
Gesendet: Dienstag, 3. Juni 2014 23:17
An: Marc Tempelmeier
Cc: Zend Framework General
Betreff: Re: [fw-general] Zend\Cache\Pattern
 
The "storage" is just an adapter that saves the data in different locations 
depending on which adapter you use (disk, memcached, etc).
The patterns are much higher level and are designed to solve a specific caching 
problem. The one I use most often is the CaptureCache. It is designed to 
"capture" the output of a web page and store it into a file while keeping the 
directory structure the same as the url. The pattern uses a storage and not the 
other way around.
You could use just a storage to capture a web page but you'd have to code a lot 
more to generate the files, create the directory structure, etc, etc. That's 
what the pattern does.
Each pattern solves a specific high level problem if you will. Each storage 
just deals with saving your data and that's it.  
 
On Tue, Jun 3, 2014 at 9:03 AM, Marc Tempelmeier 
<[email protected]> wrote:
Hi,

what ist he purpose of the cache patterns?
How can I use them? When should I use the storage or the pattern?

Greetings

Marc

--
List: [email protected]
Info: http://framework.zend.com/archives
Unsubscribe: [email protected]
 
 

Reply via email to