Changeset 32462 in spip-zone for _plugins_/memoization/memo/xcache.inc


Ignore:
Timestamp:
Oct 29, 2009, 8:59:04 AM (11 years ago)
Author:
fil@…
Message:

nettoyage de l'API et appels moins cryptiques

File:
1 edited

Legend:

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

    r32453 r32462  
    11<?php
    22
    3 # l'API de cache_set etc est exactement celle de xcache
    4 # a ceci pres qu'on se reserve un namespace specifique au site
    5 # afin de ne pas se melanger sur un serveur mutualise
    6 #
    7 # je laisse le soin a qui voudra de refaire ca en mode objet
     3/*
     4mixed cache_get(string key)
     5bool  cache_set(string key, mixed value [, int ttl])
     6bool  cache_isset(string key)
     7bool  cache_unset(string key)
     8int   cache_inc(string key [, int value [, int ttl]])
     9int   cache_dec(string key [, int value [, int ttl]])
     10bool  cache_lock(string key)
     11bool  cache_unlock(string key)
     12*/
    813
    9 /*
    10 mixed cache_get(string name)
    11 bool  cache_set(string name, mixed value [, int ttl])
    12 bool  cache_isset(string name)
    13 bool  cache_unset(string name)
    14 bool  cache_unset_by_prefix(string prefix)
    15 int   cache_inc(string name [, int value [, int ttl]])
    16 int   cache_dec(string name [, int value [, int ttl]])
    17 */
     14# http://xcache.lighttpd.net/wiki/XcacheApi
    1815
    1916@define('_CACHE_NAMESPACE', $_SERVER['HTTP_HOST'].':');
    2017
    21 function cache_get() {
    22         $a = func_get_args();
    23         $a[0] = _CACHE_NAMESPACE.$a[0];
    24         return call_user_func_array('xcache_get', $a);
     18function cache_get($key) {
     19        return xcache_get(_CACHE_NAMESPACE.$key);
    2520}
    2621
    27 function cache_set() {
    28         $a = func_get_args();
    29         $a[0] = _CACHE_NAMESPACE.$a[0];
    30         return call_user_func_array('xcache_set', $a);
     22function cache_set($key, $value, $ttl=null) {
     23        return is_null($ttl)
     24                ? xcache_set(_CACHE_NAMESPACE.$key, $value)
     25                : xcache_set(_CACHE_NAMESPACE.$key, $value, $ttl);
    3126}
    3227
    33 function cache_isset() {
    34         $a = func_get_args();
    35         $a[0] = _CACHE_NAMESPACE.$a[0];
    36         return call_user_func_array('xcache_isset', $a);
     28function cache_isset($key) {
     29        return xcache_isset(_CACHE_NAMESPACE.$key);
    3730}
    3831
    39 function cache_unset() {
    40         $a = func_get_args();
    41         $a[0] = _CACHE_NAMESPACE.$a[0];
    42         return call_user_func_array('xcache_unset', $a);
     32function cache_unset($key) {
     33        return xcache_unset(_CACHE_NAMESPACE.$key);
    4334}
    4435
    45 function cache_unset_by_prefix() {
    46         $a = func_get_args();
    47         $a[0] = _CACHE_NAMESPACE.$a[0];
    48         return call_user_func_array('xcache_unset_by_prefix', $a);
     36function cache_inc($key) {
     37        return xcache_inc(_CACHE_NAMESPACE.$key);
    4938}
    5039
    51 function cache_inc() {
    52         $a = func_get_args();
    53         $a[0] = _CACHE_NAMESPACE.$a[0];
    54         return call_user_func_array('xcache_inc', $a);
     40function cache_dec($key) {
     41        return xcache_dec(_CACHE_NAMESPACE.$key);
    5542}
    5643
    57 function cache_dec() {
    58         $a = func_get_args();
    59         $a[0] = _CACHE_NAMESPACE.$a[0];
    60         return call_user_func_array('xcache_dec', $a);
     44function cache_lock($key) {
     45        return cache_inc('lock::'.$key)===1;
     46}
     47
     48function cache_unlock($key) {
     49        return cache_unset('lock::'.$key);
    6150}
    6251
Note: See TracChangeset for help on using the changeset viewer.