redis架構細節
集群搭建
github個人部落格:
第一步:安裝gcc編譯環境
yum install gcc-c++
第二步:把redis的原始碼上傳到linux伺服器。
第三步:解壓縮。
tar -zxvf redis-3.0.0.tar.gz
第四步:make
第五步:make install prefix=/usr/local/redis
第六把:把/usr/local/bin 重新命名為redis
方式1(前端啟動):./redis-server
方式2(後台啟動):
1、複製redis.conf到redis的安裝目錄cp ~/redis-3.0.0/redis.conf /usr/local/redis/
2、修改redis.conf。修改daemonize yes
3、[root@bogon redis]# ./redis-server redis.conf
redis-cli -p 埠 -h ip位址 <-c>連線集群時使用此引數
預設埠:6379
ip:localhost(127.0.0.1)
新增6379
[root@localhost redis]# vi /etc/sysconfig/iptables
重啟防火牆
[root@localhost redis]# service iptables restart
./redis-cli
keys *檢視當前list或set
set a 100設定
get a獲得
incr a加1
decr a減1
del a刪除
keys *檢視當前
[root@localhost redis]# ./redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set a 100
ok127.0.0.1:6379> get a
"100"
127.0.0.1:6379> incr a
(integer) 101
127.0.0.1:6379> decr a
(integer) 100
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
./redis-cli -p 6379 shutdown
架構細節:
(1)所有的redis節點彼此互聯(ping-pong機制),內部使用二進位制協議優化傳輸速度和頻寬.
(2)節點的fail是通過集群中超過半數的節點檢測失效時才生效.
(3)客戶端與redis節點直連,不需要中間proxy層.客戶端不需要連線集群所有節點,連線集群中任何乙個可用節點即可
(4)redis-cluster把所有的物理節點對映到[0-16383]slot上,cluster 負責維護node<->slot<->value
redis 集群中內建了 16384 個雜湊槽,當需要在 redis 集群中放置乙個 key-value 時,redis 先對 key 使用 crc16 演算法算出乙個結果,然後把結果對 16384 求餘數,這樣每個 key 都會對應乙個編號在 0-16383 之間的雜湊槽,redis 會根據節點數量大致均等的將雜湊槽對映到不同的節點
新增7001\7002\7003\7004\7005\7006埠
[root@localhost redis]# vi /etc/sysconfig/iptables
重啟防火牆
[root@localhost redis]# service iptables restart
編寫shell指令碼:
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
./redis-trib.rb create --replicas 1 192.168.52.129:7001 192.168.52.129:7002 192.168.52.129:7003 192.168.52.129:7004 192.168.52.129:7005 192.168.52.129:7006
編寫shell指令碼:
cd redis01
./redis-cli -p 7001 shutdown
cd ..
cd redis02
./redis-cli -p 7002 shutdown
cd ..
cd redis03
./redis-cli -p 7003 shutdown
cd ..
cd redis04
./redis-cli -p 7004 shutdown
cd ..
cd redis05
./redis-cli -p 7005 shutdown
cd ..
cd redis06
./redis-cli -p 7006 shutdown
cd ..
快速搭建Redis快取資料庫
之前一篇隨筆 redis安裝及主從配置已經詳細的介紹過redis的安裝於配置。本文要講的是如何在已經安裝過redis的機器上快速的建立出乙個新的redis快取資料庫。一 環境介紹 1 linux版本 red hat enterprise linux server release 6.1 santia...
redis資料庫快取
使用redis作為快取,資料還需要存入資料庫中嗎?我的答案是 1redis只是快取,不是資料庫如mysql,所以redis中有的資料庫,mysql中一定有。2使用者請求先去請求redis,如果沒有,再去資料庫中去讀取。3redis中快取一些請求量比較大的資料 這些快取資料,mysql中一定也是有的 ...
Python程式設計 redis快取資料庫
broker快取 mongodb 存硬碟 redis 預設存記憶體,配置可存硬碟 memcache 只能存記憶體 remote dictionary server redis redis官網 redis資料型別 string 操作 set get hash 操作 hset hget list 操作 ...