BaseCache.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop100%开源免费商用商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | 商业版本务必购买商业授权,以免引起法律纠纷
  8. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  9. // | gitee下载:https://gitee.com/likeshop_gitee
  10. // | github下载:https://github.com/likeshop-github
  11. // | 访问官网:https://www.likeshop.cn
  12. // | 访问社区:https://home.likeshop.cn
  13. // | 访问手册:http://doc.likeshop.cn
  14. // | 微信公众号:likeshop技术社区
  15. // | likeshop团队 版权所有 拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshopTeam
  18. // +----------------------------------------------------------------------
  19. declare(strict_types=1);
  20. namespace app\common\cache;
  21. use think\App;
  22. use think\Cache;
  23. /**
  24. * 缓存基础类,用于管理缓存
  25. * Class BaseCache
  26. * @package app\common\cache
  27. */
  28. abstract class BaseCache extends Cache
  29. {
  30. protected $tagName;//缓存标签
  31. public function __construct()
  32. {
  33. parent::__construct(app());
  34. $this->tagName = get_class($this);
  35. }
  36. /**
  37. * @notes 重写父类set,自动打上标签
  38. * @param string $key
  39. * @param mixed $value
  40. * @param null $ttl
  41. * @return bool
  42. * @author cjhao
  43. * @date 2021/10/13 17:07
  44. */
  45. public function set($key, $value, $ttl = null): bool
  46. {
  47. return $this->store()->tag($this->tagName)->set($key, $value, $ttl);
  48. }
  49. /**
  50. * @notes 清除缓存类所有缓存
  51. * @return bool
  52. * @author 令狐冲
  53. * @date 2021/8/19 16:38
  54. */
  55. public function deleteTag()
  56. {
  57. return $this->tag($this->tagName)->clear();
  58. }
  59. }