君山 发表于 2020-11-24 11:19:11

Discuz memory函数 内存读写接口函数



/**
* 内存读写接口函数
*
* @param 命令 $cmd (set|get|rm|check)
* @param 键值 $key
* @param 数据 $value
* @param 有效期 $ttl
* @return mix
*
* @example set : 写入内存 $ret = memory('set', 'test', 'ok')
* @example get : 读取内存 $data = memory('get', 'test')
* @example rm : 删除内存$ret = memory('rm', 'test')
* @example check : 检查内存功能是否可用 $allow = memory('check')

function memory($cmd, $key='', $value='', $ttl = 0, $prefix = '') {
        if($cmd == 'check') {
                returnC::memory()->enable ? C::memory()->type : '';
        } elseif(C::memory()->enable && in_array($cmd, array('set', 'add', 'get', 'rm', 'inc', 'dec'))) {
                if(defined('DISCUZ_DEBUG') && DISCUZ_DEBUG) {
                        if(is_array($key)) {
                                foreach($key as $k) {
                                        C::memory()->debug[$cmd][] = ($cmd == 'get' || $cmd == 'rm' || $cmd == 'add' ? $value : '').$prefix.$k;
                                }
                        } else {
                                C::memory()->debug[$cmd][] = ($cmd == 'get' || $cmd == 'rm' || $cmd == 'add' ? $value : '').$prefix.$key;
                        }
                }
                switch ($cmd) {
                        case 'set': return C::memory()->set($key, $value, $ttl, $prefix); break;
                        case 'add': return C::memory()->add($key, $value, $ttl, $prefix); break;
                        case 'get': return C::memory()->get($key, $value); break;
                        case 'rm': return C::memory()->rm($key, $value); break;
                        case 'inc': return C::memory()->inc($key, $value ? $value : 1); break;
                        case 'dec': return C::memory()->dec($key, $value ? $value : -1); break;
                }
        }
        return null;
}

页: [1]
查看完整版本: Discuz memory函数 内存读写接口函数