资讯专栏INFORMATION COLUMN

Python--Redis实战:第二章:使用Redis构建Web应用:第二节:使用Redis实现购物

animabear / 3545人阅读

摘要:上一篇文章实战第二章使用构建应用第一节登录和缓存下一篇文章实战第二章使用构建应用第三节网页缓存网景公司在世纪年代中期最先在网络中使用了,这些最终变成了我们现在使用的。从购物车里面移除指定商品将指定的商品添加到购物车

上一篇文章: Python--Redis实战:第二章:使用Redis构建Web应用:第一节:登录和cookie缓存
下一篇文章:Python--Redis实战:第二章:使用Redis构建Web应用:第三节:网页缓存

网景(Netscape)公司在20世纪90年代中期最先在网络中使用了cookie,这些cookie最终变成了我们现在使用的cookie。cookie最初的意图是在于为网络销售商提供一种购物车,让用户可以收集他们想要购买的商品。

使用cookie实现购物车:也就是将整个购物车都存储到cookie里面的做法非常常见,这种做法的一大优点是无须对数据库进行写入就可以实现购物车功能,而缺点则是程序需要重新解析和验证(validata)cookie,确保cookie的格式正确,并且包含的商品都是真正可购买的商品。cookie购物车还有一个缺点:因为浏览器每次发送请求都会连cookie一起发送,所以如果购物车cookie的体积比较大,那么请求发送和处理的速度可能会有所降低。

因为我们在签名已经使用了Redis实现了会话cookie和记录用户最近浏览过的商品这两个特性,所以我们决定将购物车的信息也存储到Redis里面,并且使用与会话cookie相同的cookieID来引用购物车。

购物车的定义非常简单:每个用户的购物车都是一个散列,这个散列存储了商品ID与商品订购数量之间的映射。对商品数量进行验证的工作有web应用程序负责,我们要做的则是在商品的订购数量出现变化时,对购物车进行更新:如果用户订购某件商品的数量大于0,那么程序会将这件商品的ID以及用户订购该商品的数量添加到散列里面,如果用户购买的商品以及存在于散列里面,那么新的订购数量会覆盖已有的订购数量;相反的,如果用户订购某件商品的数量不大于0,那么程序将从散列里面移除该条目。

def add_to_cart(conn,session,item,count):
    if count<=0:
        #从购物车里面移除指定商品
        conn.hrem("cart:"+session,item)
    else:
        #将指定的商品添加到购物车           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42565.html

相关文章

  • Python--Redis实战第二使用Redis构建Web应用:第三节:网页缓存

    摘要:研究表明,减少用户等待页面载入的时间,可以增加用户使用网站的欲望,并改善用户对网站的印象。上一篇文章实战第二章使用构建应用第二节使用实现购物车下一篇文章实战第二章使用构建应用第四节数据行缓存 上一篇文章: Python--Redis实战:第二章:使用Redis构建Web应用:第二节:使用Redis实现购物车下一篇文章:Python--Redis实战:第二章:使用Redis构建Web应用...

    hoohack 评论0 收藏0
  • Python--Redis实战第二使用Redis构建Web应用:第一节:登录和cookie缓存

    摘要:需要在服务中存储更多信息,如果使用的是关系数据库,那么载入和存储的的代价可能会很高。这次我们使用令牌来引用关系数据库表中负责存储用户登录信息的条目。而我们要做的就是适用重新实现登录功能,取代由关系数据库实现的登录功能。 上一篇文章:Python--Redis实战:第一章:初识Redis:第三节:你好Redis-文章投票试炼下一篇文章:Python--Redis实战:第二章:使用Redi...

    makeFoxPlay 评论0 收藏0

发表评论

0条评论

animabear

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<