tp5快取應用例項

2021-09-08 15:54:50 字數 997 閱讀 8036

這裡的快取型別是file

1  第乙個例子:這裡舉例獲取**的文章導航,當使用者第一次訪問時是從資料庫裡查詢資料,然後生成快取檔案,再次訪問時直接從快取裡取資料(這也是最常見的快取應用)

主頁的控制器:

public function index()

else

//..省略其他資料

}

無論是更新,新增還是刪除,如果有快取直接重新設定快取值即可

對應控制器:

public function add()

exit(json_encode(array('code'=>1,'msg'=>'新增成功')));

} }}

ps:當乙個使用者第一次訪問此頁面是從資料庫裡查詢,再生成快取,下次,無論是這個使用者還是其他使用者(不論是不是第一次訪問)都是從快取裡取出資料;

2 第二個例子:使用者第一次訪問某篇文章時,閱讀量加 +1 ,一段時間內再次訪問閱讀量 +1 ,過了這段時間這個使用者再次訪問閱讀量才能再次 +1  

如果單純的使用第乙個例子的方法,那麼結果就是:當第乙個使用者訪問這篇文章後閱讀量+1,而下次或者其他使用者訪問時就直接訪問快取檔案,閱讀量也不會+1(實際要的效果是其它使用者訪問時閱讀量要+1),顯然這個效果不是我們想要的。

原理:可以在使用者第一次訪問時,生成乙個有存在時間(例如5分鐘)的cookie,過了這段時間,就是這個cookie消失的時候再次訪問才會+1(可以開啟csdn的一篇文章檢視,連續重新整理檢視閱讀量,並沒有改變,而等待一段時間後再次重新整理閱讀量會+1,就類似於這種效果)

控制器:details.php

public function details()

}else

$this->assign('article',$article);

return $this->fetch();}}

ps:這裡的cookie的名是文章的id,值可以隨便

tp5快取使用

引入 usethink cache 使用 options 快取型別為file type file 快取有效期為永久有效 expire 0,快取字首 prefix think 指定快取目錄 path runtime cache cache connect options if cache has th...

tp5框架原理詳解 TP5框架安全機制例項分析

防止sql注入 1 查詢條件盡量使用陣列方式,具體如下 wheres array wheres account account wheres password password user where wheres find 2 如果必須使用字串,建議使用預處理機制,具體如下 user d useri...

TP5事務操作簡明例項

如果乙個操作會改變資料庫多處資訊,並且這些資訊是密切相關的,為了確保每一處改動都是成功的,如果其中一處改動不成功,就將其它改動撤銷,以保證資料 事務 的完整性。比如 你給我轉賬10000塊,需要把你的餘額減10000,我的加10000,如果萬一我的餘額寫入失敗,那麼理應你的餘額不變,不然這10000...