分散式相關
正向代理:截獲請求,在伺服器端分派任務
反向代理:處於客戶端,將客戶的請求發往不同的目的地
-
問題
-
解決session失效 redis快取資料庫代理本地資料
-
-
解決session共享問題:
-
-
重寫web伺服器duisession的處理,導向第三方庫,伺服器上所有應用共享第三方快取
-
負載均衡策略:
-
輪詢策略
-
隨機策略
-
權重策略(weight值)
-
url雜湊策略
-
負載均衡面臨的問題
Nginx(反向代理)
Redis(第三方快取資料庫)
-
使用redis封裝的工具解決session共享問題 方案1:整體性解決方案:延用session 從寫web server對session操作 方案2:摒棄session,直接操作redis (推薦)
-
redis基礎命令
-
String
-
set 鍵值 值 存入值
-
setnx 鍵值 值 判斷是否存在(存在:返回0 不存在:建立)
-
mset (鍵值 值...) 存入多個
-
get 鍵值 取值
-
mget(鍵值1 鍵值2...) 取多個
-
del 鍵值 刪除值
-
select 0~15 切換資料庫(預設16個)
-
incr 鍵值 增加一個
-
incrby 鍵值 添加個數 新增n個
-
decr 鍵值 刪除一個
-
decrby 鍵值 刪除個數 刪除n個
-
expire 鍵值 時間(秒) 多久刪除
-
pexpire 鍵值 時間(毫秒) 多久刪除
-
ttl 鍵值 獲得鍵值的生存期(存在:-1 不存在:-2 定時期間:返回秒數)
-
pttl 鍵值 獲得鍵值的生存期(存在:-1 不存在:-2 定時期間:返回毫秒數)
-
key * 檢視所有鍵值
-
exists 鍵值 檢視鍵值是否存在(存在:1 不存在:0)
-
append 鍵值 值 鍵值對應的值追加一個值
-
strlen 鍵值 檢視長度
-
-
hash(雜湊表 物件)
-
hset 物件名 屬性名 值 新增值
-
hget 物件名 屬性名 取值
-
hkeys 物件名 獲得所有屬性名
-
hvals 物件名 獲得所有值
-
hgetall 物件名 獲得所有屬性名、值(鍵值對)
-
hlen 物件名 獲得屬性個數
-
hincrby 物件名 屬性 n 屬性值+n(數字型別)負數為減
-
hmget 物件名 屬性1 屬性2... 獲得多個屬性對應的值
-
-
list(列表)
-
lpush 列表名 值 新增值(棧 先進後出)
-
lrange 列表名 0 -1 查詢所有列表中的值(列表相當於棧)
-
lindex 列表名 下標 獲得下標對應的值
-
llen 列表名 獲得列表長度
-
lset 列表名 下標 值 修改當前下標的值
-
rpush 列表名 值 新增值(佇列 先進先出)
-
lpop 列表名 將列表第一個彈出
-
rpop 列表名 將列表最後一個彈出
-
rpoplupsh 列表名1 列表名2 將列表1最後一個彈出並放入列表2的第一個
-
-
set(集合)
-
sadd 集合名 值1 值2... 集合中新增(去重)
-
smembers 集合名 檢視集合
-
sismember 集合名 值 檢視集合中值是否存在(存在:1 不存在:0)
-
sinter 集合1 集合2 兩個集合的交集
-
sunion 集合1 集合2 兩個集合的並集
-
-
SortedSet(有序集合)(預設從小到大)
-
zadd 集合名 值 屬性 新增
-
zrange 集合名 0 -1 檢視集合(排序:小-大)
-
zrevrange 集合名 0 -1 產看集合(排序:大-小)
-
zscore 集合名 屬性 取得屬性對應的值
-
-
Transaction(事務)
-
multi 開啟事務
-
exec 提交事務
-
discard 放棄
-
watch 監控
-