Ignore:
Timestamp:
Oct 29, 2009, 8:37:14 PM (11 years ago)
Author:
fil@…
Message:

apres quelques tests et debug, retour a l'API complete de cache_inc(key, VALUE, TTL)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/memoization/memo/eaccelerator.inc

    r32474 r32480  
    66bool  cache_isset(string key)
    77bool  cache_unset(string key)
    8 int   cache_inc(string key)
    9 int   cache_dec(string key)
     8int   cache_inc(string key[, int value[, int ttl] ])
     9int   cache_dec(string key[, int value[, int ttl] ])
    1010bool  cache_lock(string key)
    1111bool  cache_unlock(string key)
     
    3737}
    3838
    39 function cache_inc($key) {
    40         while (!eaccelerator_lock($key)){ sleep(1); }
    41         $value = 1 + intval(cache_get($key));
    42         cache_set($key, $value);
     39function cache_inc($key, $value=null, $ttl=null) {
     40        eaccelerator_lock($key);
     41        $value = isset($value) ? intval($value) : 1;
     42        $value += intval(cache_get($key));
     43        cache_set($key, $value, $ttl);
    4344        eaccelerator_unlock($key);
    4445        return $value;
    4546}
    4647
    47 function cache_dec($key) {
    48         while (!eaccelerator_lock($key)){ sleep(1); }
    49         $value = -1 + intval(cache_get($key));
    50         cache_set($key, $value);
    51         eaccelerator_unlock($key);
    52         return $value;
     48function cache_dec($key, $value=null, $ttl=null) {
     49        $value = isset($value) ? intval($value) : 1;
     50        return cache_inc($key, -$value, $ttl);
    5351}
    5452
    5553function cache_lock($key) {
    56         return eaccelerator_lock(_CACHE_NAMESPACE.$key);
     54        eaccelerator_lock(_CACHE_NAMESPACE.$key);
     55        return true;
    5756}
    5857
    5958function cache_unlock($key) {
    60         return eaccelerator_unlock(_CACHE_NAMESPACE.$key);
     59        eaccelerator_unlock(_CACHE_NAMESPACE.$key);
     60        return true;
    6161}
    6262
Note: See TracChangeset for help on using the changeset viewer.