通過memcache實現php的session共享

2021-10-05 22:54:03 字數 1793 閱讀 9342

基礎環境

目前lvs負載均衡集群已經部署完畢,但是因為web伺服器的會話不一致導致電商**出現無法正常註冊賬號,無法正常結算等等問題!現在我們需要在後端安裝一台memcached伺服器用來儲存session,達到session共享,實現session一致的目的.

# yum -y install memcached

# service memcached start

# chkconfig memcached on

# service iptables stop

# setenforce 0

web伺服器端安裝php的memcache擴充套件模組

安裝擴充套件模組

# yum -y install gcc gcc-c++ php-devel zlib-devel

# wget

# tar zxf memcache-2.2.3.tgz

# cd memcache-2.2.3

#phpize

# ./configure && make && make install

檢視模組是否生成

#ls /usr/lib64/php/modules/memcache.so

並複製改模組的路徑

# ls /usr/lib64/php/modules/memcache.so

修改php配置檔案載入memcache.so模組

# vi /etc/php.ini

搜尋925行左右,增加如下配置

修改php的session的儲存方式和儲存路徑

所有session關鍵字,修改如下配置

新建php測試頁面檢視php的資訊

php測試頁如果已經寫好直接去測試,如果沒有寫好請寫php測試頁測試!!!

# vi /var/www/html/index.php

<?php

phpinfo();

?>

檢視配置是否生效

如果可以搜尋到memcache說明模組載入成功

檢視session儲存方式和路徑是否配置成功

另外一台web伺服器上也做相同的操作,如此便可實現session的共享

PHP下用Memcache 實現訊息佇列

memcache 一般用於快取服務。但是很多時候,比如乙個訊息廣播系統,需要乙個訊息佇列。直接從資料庫取訊息,負載往往不行。如果將整個訊息佇列用乙個key快取到memcache裡面,對於乙個很大的訊息佇列,頻繁進行進行大資料庫的序列化 和 反序列化,有太耗費。下面是我用php 實現的乙個訊息佇列,只...

memcache使用例項 PHP

首先,判斷 memcache 中是否存在key,如果有則從memcache中取值 如果沒有相應的key,則從去網頁中抓取資料,如果抓取成功,則存入db,寫入memcache並讀取,如果抓取不成功,則直接 mysql 中取值,並將取出來的值放入memcache。include inc common.i...

memcache使用例項 PHP

首先,判斷 memcache 中是否存在key,如果有則從memcache中取值 如果沒有相應的key,則從去網頁中抓取資料,如果抓取成功,則存入db,寫入memcache並讀取,如果抓取不成功,則直接 mysql 中取值,並將取出來的值放入memcache。php view plain copy ...