java调用php session_php读取memcahed java session
情景:
1:現(xiàn)在有兩個(gè)系統(tǒng),一個(gè)是Java做的系統(tǒng),一個(gè)是PHP的系統(tǒng),現(xiàn)在要把兩個(gè)系統(tǒng)弄成一個(gè)單點(diǎn)登錄。
2:兩個(gè)系統(tǒng)兩個(gè)庫,兩個(gè)庫的表結(jié)構(gòu)完全不同,現(xiàn)在要解決的就是session共享問題和用戶信息的同步。
方法:::
1:java系統(tǒng)為主系統(tǒng),php那邊的登錄,退出,注冊都跳到j(luò)ava那邊系統(tǒng)去登錄。
2:java系統(tǒng)那邊可以創(chuàng)建一個(gè)“session表“存的是每個(gè)用戶對應(yīng)session信息。php那邊就要根據(jù)用戶ID去‘session表’,存在取出相關(guān)信息,做登錄。因?yàn)橐S護(hù)兩個(gè)庫,所以php那邊要查詢自己庫中是否存在這個(gè)用戶,不存在需要添加。(沒用這種方式,需要維護(hù)session的生命周期太麻煩)
3?**:創(chuàng)建”一個(gè)sesison表“對兩邊的系統(tǒng)都要付出比較大的代價(jià),而且每次都要查數(shù)據(jù)庫,session有效期維護(hù)那邊程序也很復(fù)雜。所以借組于“memcache",tomat?于memcache整合(http://bbhaiidreamer.blog.51cto.com/3398980/841814)。這樣的話,session信息就交memcache管理了。(項(xiàng)目采用這種方法)。
4:JAVA?與?PHP?是一、二級域名,可以實(shí)現(xiàn)cookie共享。這樣在php那邊通過得到session_id?到memcache里面去取用戶的信息。由于java跟php的memcache存的格式不一樣。java存的時(shí)xml格式的,所以php還要做一些處理,通過session_id,取到對應(yīng)的xml,再解析xml里面的內(nèi)容。完后再做登錄操作。存在,直接登錄,不存在,入庫再登錄操作。
java代碼不用做什么處理,php這邊的代碼如下:
ps:?由于php系統(tǒng)比較特殊,用戶表中只需要維護(hù)幾個(gè)關(guān)鍵字段而已。在這里講的是正對于我目前的系統(tǒng),只供參考,具體問題具體分析。如有說錯(cuò)的地方,望指正。
總結(jié)
以上是生活随笔為你收集整理的java调用php session_php读取memcahed java session的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux samba配置(linux
- 下一篇: 怎么把java程序放进php_如何在ph