php使用redis做緩存和使用redis保存session


php使用redis

一、ubuntu上安裝php的redis模塊

  1. 我安裝的是php7.3,2020年ubuntu1804安裝php7.3最新詳細教程
  2. 直接使用命令:sudo apt install php-redis
  3. 重啟php-fpm: /etc/init.d/php7.3-fpm restart
  4. 使用phpinfo()查看php的配置信息,檢查是否啟動redis模塊

二、安裝redis

參考我的redis的安裝教程

  1. 2020ubuntu1804server編譯安裝redis筆記(一)
  2. 2020ubuntu1804server編譯安裝redis5筆記(二)配置redis

三、php連接redis

  1. 連接和使用redis
redis_host = "localhost";
$redis_port = "6379";
$redis = new Redis();
$redis->connect($redis_host,$redis_port);
echo "成功連接redis";
echo "<br>";
echo "服務器測試:".$redis->ping();
echo "<br>";
$redis->set("test","bruce,common",['NX','EX'=>60*3]);
echo "獲取redis值:".$redis->get("test");
$redis->close();
//如果不手動關閉,redis自動會關閉,時間默認值是300s,可在php.ini中更改
  1. redis的使用方法都在$redis的對象可以直接調用
  2. 參考文檔

四、php的session使用redis

  1. 修改php.ini
    • 因為使用fpm運行php,所以php.ini的路徑/etc/php/7.3/fpm/php.ini
    • vim php.ini修改一下兩個值
    session.save_handler = redis //默認是files
    session.save_path = "tcp://localhost:6389"
    // 如果有密碼:session.save_path = "tcp://localhost:6389?auth=password",端口也可以自己設置
    
    • 重啟fpm ,方法同上
  2. 如果不能修改php.ini那只能程序里面設置
// 設置顯示錯誤氣提示
ini_set('display_errors', true);
error_reporting(E_ALL);

// 配置session 存儲於redis
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', 'tcp://127.0.0.1:6379?auth=123456789');
  1. 查看redis中的session
<?php
$redis_host = "localhost";
$redis_port = "6379";
$redis = new Redis();
$redis->connect($redis_host,$redis_port);
echo "成功連接redis";
echo "<br>";
echo "服務器測試:".$redis->ping();
echo "<br>";
$arList = $redis->keys('PHPREDIS_SESSION*');
print_r($arList);
echo "<br>";
echo "session的key".$arList[0]."<br>session的值".$redis->get($arList[0]);
$redis->close();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM