tomcat redis實現session共享快取

2021-09-08 19:31:32 字數 2433 閱讀 9061

一:linux下redis安裝

1.wget

2.tar xzf redis-3.2.4.tar.gz

3.rm -rf redis-3.2.4.tar.gz

4.cd redis-3.2.4

5.make

這個過程需要等一小會

6.cd src

7.  ./redis-server /usr/local/redis-3.2.4/redis.conf

注意:預設要在redis的src目錄下啟動 ./redis-server,同時最好指定redis.conf,這樣redis啟動就會按照指定的redis.conf配置執行

(redis.conf檔案修改好後再啟動,或者修改後再重啟)

以上redis安裝完畢

二:redis配置修改

vi /usr/local/redis-3.2.4/redis.conf

測試環境時將bind 127.0.0.1注釋掉(前面加上#),正式環境開啟。

為了安全起見,redis一般都是監聽127.0.0.1 但是有時候又有同網段能連線的需求,當然可以繫結0.0.0.0 用iptables來控制訪問許可權,或者設定redis訪問密碼來保證資料安全  

不設定將處理所有請求,建議生產環境中設定,有個誤區:bind是用來限制外網ip訪問的,其實不是,限制外網ip訪問可以通過iptables;如:-a input -s 10.10.1.0/24 -p tcp -m state --state new -m tcp --dport 9966 -j accept ;  

實際上,bind ip 繫結的是redis所在伺服器網絡卡的ip,當然127.0.0.1也是可以的  

如果繫結乙個外網ip,就會報錯:creating server tcp listening socket ***.***.***.***:9966: bind: cannot assign requested address  

bind 127.0.0.1 10.10.1.3  

# 假設繫結是以上ip,使用 netstat -anp|grep 9966 會發現,這兩個ip被bind,其中10.10.1.3是伺服器網絡卡的ip  

# tcp        0      0 10.10.1.3:9966         0.0.0.0:*                   listen      11188/redis-server    

# tcp        0      0 127.0.0.1:9966         0.0.0.0:*                   listen      11188/redis-server   

找到# requirepass foobared ,修改為  requirepass 123456

123456為redis密碼 

# rename-command config b840fc02d524045429941cc15f59e41cb7be6c52  ###重定義命令,例如將config命令更名為乙個很複雜的名字:  

# rename-command config ""  取消這個命令;

以上兩行,任意開啟乙個,即去掉前面的# 

#daemonize no  預設情況下, redis 不是在後台執行的,生成模式時一般需要在後台執行,把該項的值更改為 yes

daemonize yes

改為yes後就看不到以下啟動視窗了

還要看下這篇文章:

以上改完配置後需要重啟服務

埠占用檢視

netstat -tunpl | grep 6379

redis客戶端啟動

./redis-cli -h 127.0.0.1 -p 6379

有密碼時輸入  auth 123456

或者直接輸入(有密碼時 -a 123456)

./redis-cli -h 127.0.0.1 -p 6379 -a 123456

keys *

可以檢視redis所有的key

三:tomcat關聯redis

在tomcat8.0.37版本測試可用,8.5的tomcat不能用,應該是jar包不支援,暫時還不知道怎麼解決

在tomcat安裝目錄下的lib中放入以下jar,每個tomcat例項都要這樣做。

在context.xml中加入以下**

host為redis所在服務的ip,port為redis的埠,password為redis密碼,高版本的redis要設定密碼,不然就會報連線池開啟異常。

tomcat redis 配置session共享

一 tomcat lib目錄下新增jar包 commons pool2 2.4.2.jar jedis 2.2.0.jar tomcat redis session manager 2.0.0.jar 二 tomcat cof context.xml 檔案下中新增redis session共享配置 ...

se實現陣列去重

es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。使用set實現陣列去重要簡單很多。第一種陣列去重方法 使用array.from let arr 12,43,23,43,68,12 let item new set arr console.log item 結果...

SE 軟體測試

軟體測試的目的與軟體工程所有其他階段的目的都是相反的。為什麼這麼說呢?軟體工程其他階段都是 建設性 的,系統開發人員從抽象概念出發,逐步設計出具體的軟體系統,最後選定一種程式語言來編寫 但是在軟體測試階段,測試人員努力設計出一系列的測試方案,目的確實 破壞 已經做好的軟體系統。當然這裡所說的 破壞 ...