Discuz! X2 核心 $_G 与缓存机制
$_G 保存了 Discuz! 中所有的预处理数据
缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可。
Discuz! 中所有的缓存保存在 $_G[cache] 中
$_G[member] | 会员信息数据 |
$_G[uid] | 用户 uid |
$_G[username] | 用户名 |
$_G[adminid] | 用户管理组 id |
$_G[groupid] | 用户用户组 id |
$_G[settting] | 设置数据 |
$_G[cache] | 系统缓存 |
$_G[cache][plugin] | 插件缓存 |
判断用户是否登录,可以判断登录标记 $_G[‘uid’] 为非 0
判断用户管理权限,将管理权限标记 $_G[‘adminid’] 为 1~3 中间的值。0 代表普通用户;1 代表论坛管理员;2 代表超级版主;3 代表论坛版主。
用户权限按照其所在的主用户组 ID 标记为 $_G[‘groupid’],相关权限从该 $_G[‘groupid’] 所对应的系统缓存中读出,存放于 $_G[‘group’]。
载入缓存可以使用 loadcache() 函数,将缓存载入到 $_G[cache] 数组中
$_G[member] | 会员信息数据 |
$_G[uid] | 用户 uid |
$_G[username] | 用户名 |
$_G[adminid] | 用户管理组 id |
$_G[groupid] | 用户用户组 id |
$_G[settting] | 设置数据 |
$_G[cache] | 系统缓存 |
$_G[cache][plugin] | 插件缓存 |
判断用户是否登录,可以判断登录标记 $_G[‘uid’] 为非 0
判断用户管理权限,将管理权限标记 $_G[‘adminid’] 为 1~3 中间的值。0 代表普通用户;1 代表论坛管理员;2 代表超级版主;3 代表论坛版主。
用户权限按照其所在的主用户组 ID 标记为 $_G[‘groupid’],相关权限从该 $_G[‘groupid’] 所对应的系统缓存中读出,存放于 $_G[‘group’]。
载入缓存可以使用 loadcache() 函数,将缓存载入到 $_G[cache] 数组中