分布式相关
正向代理:截获请求,在服务器端分派任务
反向代理:处于客户端,将客户的请求发往不同的目的地
-
问题
-
解决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 监控
-

浙公网安备 33010602011771号