4d84a934
曹明
初始代码提交
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<?php
/**
* [WeEngine System] Copyright (c) 2014 WE7.CC
* WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
*/
defined('IN_IA') or exit('Access Denied');
load()->func('cache.' . cache_type());
function cache_type() {
global $_W;
$cacher = $connect = '';
$cache_type = strtolower($_W['config']['setting']['cache']);
if (extension_loaded($cache_type)) {
$config = $_W['config']['setting'][$cache_type];
if (!empty($config['server']) && !empty($config['port'])) {
if ($cache_type == 'memcache') {
$cacher = new Memcache();
} elseif ($cache_type == 'redis') {
$cacher = new Redis();
}
$connect = $cacher->connect($config['server'], $config['port']);
}
}
if (empty($cacher) || empty($connect)) {
$cache_type = 'mysql';
}
return $cache_type;
}
function cache_load($key, $unserialize = false) {
global $_W;
static $we7_cache;
if (!empty($we7_cache[$key])) {
return $we7_cache[$key];
}
$data = $we7_cache[$key] = cache_read($key);
if ($key == 'setting') {
$_W['setting'] = $data;
return $_W['setting'];
} elseif ($key == 'modules') {
$_W['modules'] = $data;
return $_W['modules'];
} elseif ($key == 'module_receive_enable' && empty($data)) {
cache_build_module_subscribe_type();
return cache_read($key);
} else {
return $unserialize ? iunserializer($data) : $data;
}
}
function cache_system_key($cache_key) {
$args = func_get_args();
switch (func_num_args()) {
case 1:
break;
case 2:
$cache_key = sprintf($cache_key, $args[1]);
break;
case 3:
$cache_key = sprintf($cache_key, $args[1], $args[2]);
break;
case 4:
$cache_key = sprintf($cache_key, $args[1], $args[2], $args[3]);
break;
case 5:
$cache_key = sprintf($cache_key, $args[1], $args[2], $args[3], $args[4]);
break;
case 6:
$cache_key = sprintf($cache_key, $args[1], $args[2], $args[3], $args[4], $args[5]);
break;
}
$cache_key = 'we7:' . $cache_key;
if (strlen($cache_key) > CACHE_KEY_LENGTH) {
trigger_error('Cache name is over the maximum length');
}
return $cache_key;
}
function &cache_global($key) {
}
|