小韦云链二次开发手册

缓存key命名规则

小韦云科技-区块链+小程序+公众号+商城+分销+直播+企业官网+外贸电商-为您提供优质的开发服务-电话/微信联系:18123611282

缓存key定义规则

规则如下

wpcache_[数据表名]_[字段1]-[字段1的值]_[字段2]-[字段2的值]..._[扩展名]

假如需要缓存某个公众号(wpid)下某个用户(uid)的全部name字段的信息,那么它的key格式应该是:

假如当前用户uid为1,wpid为200,那么它的key值应该为:

wpcache_user_uid-1_wpid-200

当然,上面是程序读取缓存的key,真实缓存的key值,系统可能还会加上系统级别的前缀,主要看ThinkPHP系统里的配置参数。

如果有相同的搜索条件,但缓存的数据要求不一样的情况下,还可以使用扩展名区分开,默认情况下是没有扩展名。

使用助手函数快速生成key

为了方便正确生成有规则的key值,我们提供了函数cache_key

/**
** $map_field string|array 搜索字段,格式:uid:1,wpid:200 或者:['uid'=>1,'wpid'=>200]
** $table_name string 数据表名
, 如:user
** $data_field string 缓存字段,为空表示全部字段,如:uid,name
,wpid
** $extra string 扩展名,可为空,主要解决搜索字段相同的情况下的冲突问题
**/
function cache_key($map_field, $table_name, $data_field = '', $extra = '')

如使用cache_key函数注册key某个用户的ID缓存

$key = cache_key(['uid'=>1], 'user');

返回的key为:wpcache_user_uid-1

然后使用cache函数对这个key进行缓存的读取与写入即可

这样key注册保存以及缓存的更新都由系统自动完成,开发者就不需要关心。

再举个例,获取wp_publics表里的public_id='gh_a547875ab55d'对应的id值,生成的key为:wpcache_publics_public_id-gh_a547875ab55d

$key = cache_key('public_id:gh_a547875ab55d','publics','id');
$id = S($key);
if($id===fase){
    $id = db('publics')->where('public_id', 'gh_a547875ab55d')->value('id');
    S($key, $wpid);
}

上面说了这么多,其实开发者也不需要知道生成的key是什么,只需要知道如何使用cache_key生成key即可。

本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/11/1882,否则追究其法律责任

关键词:缓存 key cache_key

广告位招商