V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shuimu98
V2EX  ›  服务器

关于 app 后端如何保存用户个人资料的问题

  •  
  •   shuimu98 · 2015-11-06 18:07:33 +08:00 · 1949 次点击
    这是一个创建于 3309 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为是从游戏服务器转到 app 服务器开发,所以有些想法不知道是否适用当前的应用场景。

    场景如下:
    app 客户端在用户登录后,需要向服务器请求拉取用户的个人信息,例如:昵称、图像、好友列表之类的信息,如果每次请求都需要查询数据库,会对数据库造成很大的压力吗?

    基于上面的考虑,我用游戏服务器的思路,当用户登录后,缓存用户的资料到 redis 中,这样可以避免频繁查询数据库,但是,有个问题,用户越多, redis 中缓存的用户数据就越多,所以我想增加一个定时器,定时清理超过一段时间的数据,保证 redis 缓存的数据不会过大。

    因为第一次做 app 服务器,所以请大神分析下我的思路是否正确,谢谢。

    1 条回复    2015-11-06 19:23:26 +08:00
    billlee
        1
    billlee  
       2015-11-06 19:23:26 +08:00
    用 redis 做缓存是正确的思路。另外 redis 做缓存用的时候,是可以设置每个 key 的过期时间的,还可以设置内存限制,在超过限制时自动 drop 掉旧的内容。所以好像没什么必要用定时器。

    另外,还可以在 HTTP 层面做缓存,利用 nginx 的缓存功能,绕过 app 服务器。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3127 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:44 · PVG 21:44 · LAX 05:44 · JFK 08:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.