redis(集群)使用

2021-09-28 19:07:32 字數 2905 閱讀 4814

背景:

session 是伺服器上一塊儲存空間,和客戶端一一對應

客戶端第一次請求伺服器,伺服器會為其建立 session,

並分配乙個唯一的 sessionid,sessionid 會隨著 cookie 返回客戶端儲存

客戶端繼續請求伺服器,會自動攜帶 cookie 中的所有內容,包括 sessionid,

伺服器從 cookie 中取出 sessionid,找到對應 session 進行操作

引入 nginx 後 cookie 的讀取位置和儲存位置不一致,導致 session 失效,

讀取位置是 nginx 的請求位址,儲存位置是伺服器的請求位址

在 nginx 的反向**配置中通過以下設定可以保證讀取和儲存位置保持一致:

知識點:

redis 是乙個基於記憶體的非關係型資料庫 。

基於記憶體:資料存在記憶體中。

非關係型資料庫(nosql):以 key-value 的形式組織資料。

關係型資料庫:以二維表(行和列)的形式組織資料。

配置參考

使用 yum 安裝 gcc 和 tcl

tar -xvf redis-4.0.14.tar.gz
進入解壓目錄

cd redis-4.0.14
使用以下命令編譯 redis

make
使用以下命令檢測編譯檔案是否正確

make test
使用以下命令安裝 redis 到 /usr/local/redis 目錄

make prefix=/usr/local/redis install
刪除解壓目錄

rm

-rf redis-4.0.14

redis 分為 server 和 client

使用:進入 redis 安裝目錄下的 bin 目錄

cd /usr/local/redis/bin/
使用 ./redis-server 可以啟動 server

.

/redis-server

server 啟動後獨佔當前視窗,如果要執行其它操作,需要新建視窗執行

退出伺服器:ctrl + c

使用 ./redis-cli 可以啟動 client

cd /usr/local/redis/bin/
.

/redis-

cli

設定遠端登入使用的密碼:

config set requirepass 123456
使用密碼登入:

auth 123456
退出客戶端:

exit
ssm中使用 redis 完成 session 共享/單點登入:

啟動 redis-server 和 redis-cli

設定遠端登入密碼

引入依賴

springsessionrepositoryfilter

org.springframework.web.filter.delegatingfilterproxy

/*

建立 redis.properties 配置 redis 鏈結資訊

redis.ip=192.168.49.128

redis.port=6379

redis.password=123456

在 springmvc.xml 配置 redis 連線池,連線 redis

注入 redis 工具類

@autowired

private redistemplate redistemplate;

新增到 redis 的資料需要實現 serializable 介面

使用 redistemplate 新增和獲取資料

if

(offset ==1)

}//求出當前條數

int offset1 =

(offset -1)

* size;

list

findpagelist = projectdao.

findpagelist

(keyword,offset1,size,category,status,other);if

(offset ==1)

return findpagelist;

搭建與使用redis集群

redis集群中至少應該有三個節點。要保證集群的高可用,需要每個節點有乙個備份機。redis集群至少需要 6臺伺服器。搭建偽分布式。可以使用一台虛擬機器執行6個 redis 例項。需要修改 redis 的埠號 7001 7006 1 使用 ruby 指令碼搭建集群。需要 ruby 的執行環境。安裝r...

Redis集群搭建與簡單使用

redis集群搭建 1 安裝redis 分別啟動各個redis,關鍵是conf conf配置 port 7000 埠7000,7002,7003 bind 本機ip 預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則建立集群時無法訪問對應的埠,無法建立集群 daemonize ye...

Redis集群搭建與簡單使用

介紹安裝環境與版本 我用了三颱虛擬機器模擬6個節點,一台機器2個節點,建立出3個master 3個salve 環境。redis 採用 redis 4.0.1 版本。上台臺虛擬機器都是 centos 一台 centos7 ip 192.168.3.231 一台 centos7 ip 192.168.3...