日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

Redis在PHP项目中的应用

發布時間:2023/12/4 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis在PHP项目中的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 運行redis服務端

?

出現上圖的圖形,就說明redis服務端開啟成功,并且開啟了密碼功能(如果不加載配置文件,連接redis是不需要密碼的,這樣,會給我們的程序帶來很大隱患)

密碼的設置: 在redis配置文件中,搜索requirepass ,后面設置密碼 ?比如 : requirepass G506myredis

則表示此redis服務端密碼是G506myredis

?

二 在php文件中操作redis

1. 查詢

根據sql語句到redis數據庫中查詢是否有相應的數據,如果有,則直接返回數據,如果沒有,則到數據庫查詢數據返回給瀏覽器,并且將數據緩存到redis服務器

代碼:

function inquiry_redis($sql) {//實例化redis對象$redis = new Redis();//連接redis$redis->connect('localhost',6379);//分配下面的任務密碼權限$redis->auth('G506myredis');$key = md5($sql);$data = $redis->get($key);//如果有data,此時應該是一個json字符串if(!$data){try{$pdo = new PDO('mysql:dbname=test;host=localhost','root','root');}catch(PDOException $e){die("pdo連接失敗:".$e->getMessage());}$stmt = $pdo->prepare($sql);$stmt->execute();$data = json_encode($stmt->fetchAll(2));//將從數據庫取到的數據轉化為json字符串(為了存儲到redis中)$redis->set($key,$data);}return json_decode($data);//返回數組格式的數據}$sql = 'select id,name,edu,city,salary from student'; var_dump(inquiry_redis($sql));

?

?

結果:

?

array (size=39)0 => object(stdClass)[2]public 'id' => '1' (length=1)public 'name' => '周更生' (length=9)public 'edu' => '大專' (length=6)public 'city' => '山東省' (length=9)public 'salary' => '5000.00' (length=7)1 => object(stdClass)[3]public 'id' => '2' (length=1)public 'name' => '王小平' (length=9)public 'edu' => '大專' (length=6)public 'city' => '陜西省' (length=9)public 'salary' => '500.00' (length=6)2 => object(stdClass)[4]public 'id' => '3' (length=1)public 'name' => '周改娟' (length=9)public 'edu' => '大專' (length=6)public 'city' => '上海市' (length=9)public 'salary' => '8000.00' (length=7)3 => object(stdClass)[5]public 'id' => '4' (length=1)public 'name' => '高舸' (length=6)public 'edu' => '高中' (length=6)public 'city' => '山西省' (length=9) (size=39)0 => object(stdClass)[2]public 'id' => '1' (length=1)public 'name' => '周更生' (length=9)public 'edu' => '大專' (length=6)public 'city' => '山東省' (length=9)public 'salary' => '5000.00' (length=7)1 => object(stdClass)[3]public 'id' => '2' (length=1)public 'name' => '王小平' (length=9)public 'edu' => '大專' (length=6)public 'city' => '陜西省' (length=9)public 'salary' => '500.00' (length=6)2 => object(stdClass)[4]public 'id' => '3' (length=1)public 'name' => '周改娟' (length=9)public 'edu' => '大專' (length=6)public 'city' => '上海市' (length=9)public 'salary' => '8000.00' (length=7)3 => object(stdClass)[5]public 'id' => '4' (length=1)public 'name' => '高舸' (length=6)public 'edu' => '高中' (length=6)public 'city' => '山西省' (length=9)

第一次,從數據庫取數據,將結果返回給瀏覽器,并將數據緩存到redis中

?

第二次,直接從redis中取數據,返回該瀏覽器

?

2. 刪除

傳進來一個sql,我們根據sql刪除redis庫中對應的key的數據

function delete_redis($sql) {//實例化redis對象$redis = new Redis();//連接redis$redis->connect('localhost',6379);//分配下面的任務密碼權限$redis->auth('G506myredis');$key = md5($sql);//刪除對應的緩存的sql數據$redis->del($key);}

?

?ps: 期待在這方面有豐富項目經驗的phper提出更多的優化意見,謝謝

總結

以上是生活随笔為你收集整理的Redis在PHP项目中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。