zoukankan      html  css  js  c++  java
  • 三种状态保持机制

    (一)session机制保持会话

    存在的问题

    • 高并发情况下,会占用服务器大量内存
    • 分布式(一个业务分成几个子业务,部署在多个服务器)或者集群(一个业务部署在多个服务器)的时候,session不能共享。

    解决方案

    • 高并发的时候可以将session存储到redis,如果用户长时间没有访问,将session存储到redis,就减少了服务器的压力。
    • 分布式或者集群的时候,先通过redis来判断用户状态也可以实现session共享.

    (二)cookie机制保持会话

    使用的方法

    • 登录验证后,创建登录凭证(比如:用户id+登录时间+过期时间),将登录凭证进行加密(为了避免暴露信息),加密后写到浏览器的cookie,以后,每次请求都发送cookie,服务器根据对应的解密算法对其进行验证(或者将加密过的cookie内容存储到数据库,请求服务器的时候,服务器在数据库进行查找)。

    存在的问题

    • 每次访问都提交cookie,增加请求量
    • 其他访问可能需要cookie(比如说购物车的信息存放在cookie),浏览器对每个域存储的cookie的大小有限制,那么需要控制加密后的凭证。

    (三)token机制保持会话

    使用方法

    • cookie 和session依赖于浏览器,如果客户端不是浏览器,那么需要手动添加token(和cookie类似,也是登录凭证),将token添加到http header或者做为参数添加到url。

    存在的问题

    • 每次访问的时候手动添加token
    • 和cookie 的方式一样增加了请求量
  • 相关阅读:
    jq 自定义动画案例
    jq 左右轮播图案例
    hdu-5728 PowMod(数论)
    UVA-11892(组合游戏)
    UVA-12293(组合游戏)
    LA-5059(组合游戏)
    hdu-5724 Chess(组合游戏)
    hdu-5750 Dertouzos(数论)
    hdu-5748 Bellovin(LIS)
    hdu-5747 Aaronson(水题)
  • 原文地址:https://www.cnblogs.com/zxh1297/p/9355869.html
Copyright © 2011-2022 走看看