2019-03-30 14:06  阅读(2618)
文章分类:Redis 源码日志 文章标签:RedisRedis源码
©  原文作者:郑思愿 原文地址:http://daoluan.net

作者:郑思愿

出处:http://daoluan.net


HTTP 是无状态的协议,上一条和下一条没有什么联系,要建立联系需要在客户端和服务器作一些数据记录。

在 Web 的应用上,用 Redis/Memcached 来做 session 的存储,以加速后台业务的处理速度。譬如用户的购物车的数据,可以在服务端作存储。传统里把 session 数据库中,可以放在内存中,存储系统就派上有用场了。

下面的一段简单的 Python 的代码,如果 Redis 缓存的数据,先从 Redis 中取,否则从数据库中查询,接着返回数据给到前端。

def GetUserShopingCart(user_session):
    goods = Redis.Get(user_session)
    if goods is not null:
        return goods
    ret = Mysql.Query("select * from user_shoping_cart where sessionid = %d" %
            (user_session))
    return ret

def SaveUserShopingCart(user_session, goods):
    ret = Redis.Set(user_session,goods)
    if not ret:
        Log("save redis error")
    ret = Mysql.Query("insert into user_shoping_cart (sessionid, goods) values"
        "(%s)",goods)
    return ret

大概来看一下后台的设计图:

w2.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 【Redis 源码日志】--- Redis 应用:Web 服务器存储 session
上一篇
【Redis 源码日志】--- Redis 应用:消息中间件
下一篇
【Redis 源码日志】--- 内存数据管理