【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.pswp.cn/web/86331.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86331.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86331.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡協議完全指南:從HTTP長短連接到TCP-UDP的深度對話

🌐 網絡協議完全指南:從HTTP長短連接到TCP-UDP的深度對話 本文采用對話形式,通過小李和小王的問答,深入淺出地講解網絡協議、長短連接等核心概念,幫助讀者建立完整的網絡知識體系。 引言 在Java后端開發中&#xff0c…

04-StarRocks集群運維FAQ

StarRocks集群運維FAQ 概述 本文檔整理了StarRocks集群運維過程中常見的問題和解決方案,涵蓋了集群管理、節點維護、監控告警、故障處理等各個方面,幫助運維人員高效管理StarRocks集群。 集群管理FAQ Q1: 如何查看集群狀態? A: 集群狀態查看方法: 1. 查看FE節點狀態 …

通過Prompt提示構建思維鏈

《DEEPSEEK原生應用與智能體開發實踐 王曉華 書籍 圖書》【摘要 書評 試讀】- 京東圖書 思維鏈技術開啟了人工智能通向人類智能的嶄新路徑。它讓模型不再僅僅是機械地執行指令,而是開始具備類似人類的思考方式,能夠理解問題的本質,進行深層次…

OpenCV邊緣填充方式詳解

一、邊緣填充概述 在圖像處理中,邊緣填充(Border Padding)是一項基礎而重要的技術,特別是在進行卷積操作(如濾波、邊緣檢測等)時,處理圖像邊緣像素需要用到周圍的像素值。由于圖像邊緣的像素沒…

如何評估RAG系統?全面指標體系

構建一個可靠的 檢索增強生成(Retrieval-Augmented Generation, RAG)系統,不僅要關注模型的構建,更重要的是對系統性能進行科學、系統的評估。評估不僅衡量系統的效果,也為迭代優化提供依據。 本文將圍繞 RAG 系統的評…

力扣-合并區間

題目 56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; 解析: 先按開始維度排序&#xff0c;之后依次合并&#xff0c;如果開頭 < 當前區間的最后就合并&#xff0c;> 就開辟新區間 代碼: class Solution {public int[][] merge(int[][] intervals) {int n in…

【軟考高級系統架構論文】論基于構件的軟件開發方法及其應用

論文真題 基于構作的 軟件開發 (Component-Based Software Development,CBSD) 是一種基于分布對象技術、強調通過可復用構件設計與構造軟件系統的軟件復用途徑。基于構件的軟件系統中的構件可以是COTS (Commercial-Off-the-Shelf) 構件,也可以是通過其它途徑獲得的構件(如自…

recipes的版本比較老如何更新到新版本?

在 Yocto 項目中,當你發現 “meta-openembedded” 層中的某些 recipe 版本太舊,而你想使用更新版本時,最佳實踐是在你自己項目的自定義層 (custom layer) 中使用 “bbappend” 文件進行覆蓋或升級。 核心思路: 不要直接修改 “meta-openembedded” 層的 recipe ( “*.bb”…

【軟件系統架構】系列四:嵌入式軟件-NPU(神經網絡處理器)系統及模板

目錄 一、什么是 NPU? 二、NPU 與 CPU/GPU/DSP 對比 三、NPU 的工作原理 核心結構: 數據流架構: 四、NPU 芯片架構(簡化圖) 五、NPU 的優勢 六、NPU 應用場景 視覺識別 語音識別 自動駕駛 智能監控 AIoT 設備 七、主流 NPU 芯片/架構實例 八、開發者工具生…

【NLP】使用 LangGraph 構建 RAG 的Research Multi-Agent

本文中&#xff0c;我們介紹了一個使用LangGraph開發的RAG的Research Multi-Agent工具的實際項目。該工具旨在解決需要多個來源和迭代步驟才能得出最終答案的復雜問題。它使用混合搜索和rerank步驟來檢索文檔&#xff0c;還結合了自我糾正機制&#xff0c;包括幻覺檢查過程&…

【Docker基礎】Docker容器管理:docker restart詳解

目錄 1 docker restart命令概述 1.1 命令作用 1.2 與相關命令對比 2 命令語法詳解 2.1 基礎語法 2.2 核心參數說明 3 核心原理深度解析 3.1 信號傳遞機制 3.2 狀態轉換 4 典型應用場景 4.1 服務配置更新 4.2 故障恢復流程 5 進階使用技巧 5.1 組合命令應用 5.2 …

mongoDB服務本地化部署

mongoDB服務本地化部署 前言mongoDB下載選擇版本安裝 前言 mongoDB數據庫解釋 MongoDB 是由C語言編寫的&#xff0c;是一個基于分布式文件存儲的開源數據庫系統&#xff1b;在高負載的情況下&#xff0c;添加更多的節點&#xff0c;可以保證服務器性能&#xff1b;MongoDB 旨在…

YOLOv10tensorRT推理代碼C++

最近實現了YOLOv10的tensorRT推理代碼除了后處理部分只適合YOLOv10之外&#xff0c;其余部分基本可以在yolo系列通用~學習記錄~。 #include <fstream> #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #include "NvInfer.…

軟件定時器詳解:RTOS 中的“軟時鐘”機制與源碼解析

在嵌入式實時系統開發中&#xff0c;定時器是不可或缺的工具。軟件定時器&#xff08;Software Timer&#xff09; 提供了一種無需創建獨立任務、便可在特定延時后執行回調函數的機制。它適用于那些不要求高精度、但需要周期性或一次性延時執行操作的場景。 一、什么是軟件定時…

從Yocto中獲取源碼用傳統的方式單獨編譯

要獲取 Yocto 構建后的 Linux 內核和 U-Boot 源碼,并進行獨立編譯,需獲取完整的源碼樹(包含所有應用補丁和配置)及原始配置信息。以下是具體步驟: 獲取最終源碼路徑確定構建目錄位置: 內核工作目錄 KERNEL_WORKDIR=$(bitbake -e virtual/kernel | grep ^WORKDIR= | cut…

【記錄】服務器|常見的八種硬盤接口的簡介和清晰的接口圖片(2025年6月)

硬盤接口很多&#xff0c;在管服務器的時候總是要買&#xff0c;但是偶爾會忘記自己的服務器支持什么接口&#xff0c;此時就需要看引腳。 如果沒插滿&#xff0c;就可以直接拍接口的圖片&#xff0c;與下面這些圖片對照一下【文字介紹是AI直接生成的&#xff0c;圖片是我到處…

在一個成熟產品中,如何設計數據庫架構以應對客戶字段多樣化,確保系統的可維護性、可擴展性和高性能。

在SaaS系統、平臺型應用或高度可配置的企業級軟件中&#xff0c;我們常常會遇到一個現實問題&#xff1a;不同客戶對同一個業務表存在差異化字段需求。例如&#xff0c;A客戶需要一個“業務員等級”字段&#xff0c;B客戶不需要&#xff1b;C客戶希望訂單表中增加“海外倉編碼”…

社群營銷應該怎么玩

現在做營銷&#xff0c;光靠打廣告可不行了。大家都喜歡扎堆兒&#xff0c;找志同道合的人一起玩&#xff0c;這就是社群的力量。那怎么用好這股力量呢&#xff1f;咱們慢慢聊。 首先得明白&#xff0c;社群不是拉個群就完事了。關鍵是要讓大家覺得這里有意思&#xff0c;有收…

【論文閱讀筆記】TransparentGS:當高斯濺射學會“看穿”玻璃,如何攻克透明物體重建難題?

文章目錄 TransparentGS: Fast Inverse Rendering of Transparent Objects with GaussiansInfoAbstractIntroductionMethod預備知識3D GS的概念不再贅述渲染方程透明高斯Gaussian Light Field Probes多階段重建實驗結果和評估消融實驗應用討論和限制結論TransparentGS: Fast In…

某視頻網站運維工程師面試題

某視頻網站運維工程師面試題 1、 簡單寫下Xeon和Itanium這兩個產品的本質區別&#xff1f; 2、 ECC內存每Bank的顆粒數是單數還是雙數的&#xff1f; 3、 假如有5塊1T的硬盤&#xff0c;要求組合成盡量多的實際使用空間并至少容忍壞2盤而不影響raid組工作。請問有幾種模式來組…