当前位置: 首页 > backend >正文

【thinkphp5】Session和Cache记录微信accesstoken

记录一个项目实际遇到的坑,不要把token存放在session,要存在在cache里面!!

因为Session并不能设置expire过期时间,Session::set()方法第三个参数是作用域,而非过期时间!!!因此不能混用cache的用法。

session的set方法

    /**
     * session设置
     * @param string        $name session名称
     * @param mixed         $value session值
     * @param string|null   $prefix 作用域(前缀)
     * @return void
     */
    public static function set($name, $value = '', $prefix = null)
    {
        empty(self::$init) && self::boot();

        $prefix = !is_null($prefix) ? $prefix : self::$prefix;
        if (strpos($name, '.')) {
            // 二维数组赋值
            list($name1, $name2) = explode('.', $name);
            if ($prefix) {
                $_SESSION[$prefix][$name1][$name2] = $value;
            } else {
                $_SESSION[$name1][$name2] = $value;
            }
        } elseif ($prefix) {
            $_SESSION[$prefix][$name] = $value;
        } else {
            $_SESSION[$name] = $value;
        }
    }

缓存的set方法 

    /**
     * 写入缓存
     * @access public
     * @param  string   $name   缓存标识
     * @param  mixed    $value  存储数据
     * @param  int|null $expire 有效时间 0为永久
     * @return boolean
     */
    public static function set($name, $value, $expire = null)
    {
        self::$writeTimes++;

        return self::init()->set($name, $value, $expire);
    }
 

 

这个区别,平时都不怎么会用到,今天就遇到了怎么样都取不到token,改用cache方法就好了,注意注意

http://www.xdnf.cn/news/14710.html

相关文章:

  • 【原创】【4】【辅助工具】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • Gartner《敏捷化组织团队拓扑方法论》学习心得
  • [特殊字符]推客带货小程序解决方案——0门槛裂变营销,佣金赚不停!
  • 华为交换机 USG6311E 新建 vlan
  • 海澜之家旗下斯搏兹选择百胜软件,E3+企业中台持续为运动品牌业务发展赋能
  • Node.js特训专栏-实战进阶:9.MySQL连接池配置与优化
  • Java全栈面试实录:从电商平台到AIGC,技术栈深度解析
  • 领域驱动设计(DDD)【13】之重构中的坏味道:深入理解依恋特性(Feature Envy)与表意接口模式
  • 八股文——JAVA基础:基本数据类型与包装类的区别
  • 基于 Python 的批量文件重命名软件设计与实现
  • FPGA基础 -- Verilog 建模示例之通用移位寄存器
  • Linux远程机器无法连接-------解决方案
  • Python 数据分析与可视化 Day 7 - 可视化整合报告实战
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • UniApp 开发第一个项目
  • 专题:2025医疗AI应用研究报告|附200+份报告PDF汇总下载
  • 【网络实验】-配置用户登录
  • WeakAuras Lua Script [ICC BOSS 12 - The Lich King]
  • 在ASP.NET Core WebApi中使用标识框架(Identity)
  • error: GH013: Repository rule violations found for refs/heads/main.
  • Hadoop之HDFS
  • 服务器不支持PUT,DELETE 的解决方案
  • 深入GPU编程:从硬件架构到内核优化
  • GitHub 趋势日报 (2025年06月24日)
  • 【C++】简单学——类和对象(上)
  • 用OBS Studio录制WAV音频,玩转语音克隆和文本转语音!
  • 清华大学联合IDEA推出GUAVA:单幅图像生成实时可动画3D上半身,渲染速度突破0.1秒,可实现实时表情与动作同步。
  • Java实现简易即时通讯系统
  • linux操作系统的软件架构分析
  • 创建首个 Spring Boot 登录项目