1.第一步是安裝redis,我的伺服器是windows的,下載的是免安裝版本,解壓縮以後就可以了,其目錄如下。一開始redis是預設不需要密碼,如果想要設定密碼,可以進入redis.windows.conf檔下找到requirepass,刪除前面的#號,在其後面便可以設定密碼。
2.從cmd進入redis的根目錄,鍵入下列指令:redis-server.exeredis.windows.conf。這樣就可以啟動redis了,如果啟動成功,就會出現下面畫面。當然還可以修改conf文件,加上密碼。 requirepass xxxxx
3.接下來我們可以做一些設定工作,來實作session資料的全域快取。
1)首先是加入jar包,如果你是maven項目,需要在pom.xml加入下面程式碼
org.springframework.session spring-session-data-redis 1.3.1.release pom
如果不是maven項目,你需要加入下面這些jar包。
2)寫redis.properties,程式碼如下
redis_isopen:yes #主机地址 redis_hostname=xxx.xxx.xxx.xxx #端口 redis_port=6379 #密码 redis_password=xxxxxxxx #连接超时时间 redis_timeout=200000 redis_maxidle:300 redis_maxactive:600 redis_maxwait:100000 redis_testonborrow:true
基本上與我們配置資料庫的連接語句類似。
3)寫spring-redis.xml設定文件,這個文件配置關於redis的一些基本資訊。
4)在application.xml(spring的主設定檔)需要加入redis.properties設定檔的掃描,如下。
/web-inf/classes/redis.properties
5)在主設定檔中引入spring-redis.xml,如下。
6)在web.xml中,加入關於session的過濾器,只有這樣session才會被redis操縱。
springsessionrepositoryfilter org.springframework.web.filter.delegatingfilterproxy springsessionrepositoryfilter /*
這樣以後,我們就實現了redis對session的管理。
7)我們可以安裝一個redis的客戶端來查看裡面的數據,叫做redis desktop manager。如下圖,很好用,可以看到redis資料庫中的資料。
ps.再退出的時候,需要這樣寫才不會出錯。 (ssh專案)
public string yipinexit(){ iteratorkeys=session.keyset().iterator(); while(keys.hasnext()){ string key=keys.next(); session.remove(key); } return "yipinexit"; }
以上是nginx+redis怎麼實現session共享的詳細內容。更多資訊請關注PHP中文網其他相關文章!