97 lines
2.6 KiB
PHP
97 lines
2.6 KiB
PHP
<?php
|
|
/** ZJMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2022-2032 四川正今科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.zjphp.com
|
|
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
|
|
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布传播。
|
|
* 唯一发布渠道官方颁发授权证书,无纸质授权凭证书视为侵权行为。
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace app\model\newModel\common;
|
|
|
|
use think\facade\Cache as c;
|
|
|
|
/**
|
|
* Common: 缓存 —— 列表数据储存专用
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:11
|
|
* Class CaChe
|
|
* @package app\model\newModel\common
|
|
*/
|
|
class CaChe{
|
|
/**
|
|
* Common: 生成缓存标签
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:00
|
|
* @param array $array
|
|
* @return string
|
|
*/
|
|
public static function tag(array $array){
|
|
// 删除公共内容
|
|
unset($array['app_type'],$array['app_type_name'],$array['token']);
|
|
// 生成标签
|
|
|
|
|
|
return md5(json_encode($array));
|
|
}
|
|
/**
|
|
* Common: 储存内容
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:17
|
|
* @param string $name
|
|
* @param string $value
|
|
* @param string $tag
|
|
*/
|
|
public static function set(string $name,string $value,string $tag){
|
|
self::cacheTag($name,$tag);
|
|
c::set($tag,$value);
|
|
}
|
|
/**
|
|
* Common: 获取缓存信息
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:19
|
|
* @param string $name
|
|
* @param string $tag
|
|
* @return mixed
|
|
*/
|
|
public static function get(string $name,string $tag){
|
|
return c::get($tag);
|
|
}
|
|
/**
|
|
* Common: 删除缓存
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:49
|
|
* @param $name
|
|
*/
|
|
public static function del($name){
|
|
$list = (array)c::get($name);
|
|
foreach($list as $tag){
|
|
c::delete($tag);
|
|
}
|
|
|
|
c::delete($name);
|
|
}
|
|
|
|
/**
|
|
* Common: 储存 缓存名称和键名称的关系
|
|
* Author: wu-hui
|
|
* Time: 2022/11/07 16:16
|
|
* @param $name
|
|
* @param $tag
|
|
*/
|
|
private static function cacheTag($name,$tag){
|
|
$tagList = c::get($name);
|
|
if(is_array($tagList)){
|
|
if(!in_array($tag,$tagList)){
|
|
$tagList[] = $tag;
|
|
c::set($name,$tagList);
|
|
}
|
|
}else{
|
|
c::set($name,[$tag]);
|
|
}
|
|
}
|
|
|
|
} |