首頁  >  文章  >  系統教程  >  Redis 快取 PHP 7.2 session 變數共享

Redis 快取 PHP 7.2 session 變數共享

WBOY
WBOY原創
2024-07-29 15:45:541221瀏覽

Redis 缓存 PHP 7.2 session 变量共享

一般負載平衡內容有兩種形式,一種是靜態,另一種是動態,動態網站內容就可能需要進行交互,那麼就涉及到session共享的問題。預設PHP是將session儲存在LocalDisk,如果是多台php主機之間進行負載,那麼該如何共享session?今天我們就解決這個問題。

session會話共享檔案有很多種方式:

分散式檔案共用;NFS,NAS檔案儲存等。

Nginx負載平衡ip_hash模組,固定訪客到後端某台伺服器。

將session儲存到資料庫中;例如MySQL,Memcached,Redis,Mongodb等。

我個人比較傾向於將session儲存到Redis資料庫,用這種方式來同步session共享,不僅不會加大資料庫的負擔,而且安全性比cookie更高,把session放到記憶體裡面,比從磁碟文件中讀取會快很多。 「有人認為;那我把所有的快取軟體都安裝,速度豈不是更快,那就不是快取加速了,而演變成了快取庫了」。

php語言腳本預設不支援對Redis的操作,所以需要安裝第三方phpRedis擴充模組,讓其支援對Redis的操作,至於如何安裝使用phpRedis,可以參考我前面寫的文章《phpRedis擴充模組安裝設定使用》 。另外這裡還需要一台Redis伺服器,請參閱《Linux Centos7 Redis 3.2.9 原始碼編譯安裝設定》。

1.修改PHP設定檔php.ini將session儲存到Redis中。

# vim /usr/local/php/etc/php.ini

session.save_handler = files
;session.save_path = "N;/path"
修改为:

session.save_handler = Redis
session.save_path = “tcp://10.10.204.66:6379”

;如果Redis有密码连接方式
session.save_path = “tcp://10.10.204.66:6379?auth=password”
 

2.重啟php-fpm服務生效

# systemctl restart php-fpm

以上所有過程均是經過手動測試的,99%可用於生產。

以上是Redis 快取 PHP 7.2 session 變數共享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn