zoukankan      html  css  js  c++  java
  • Redis学习笔记(二)

    解读Retwis官网例子

    Redis需要考虑需要哪些keys以及对应的value使用合适的数据类型进行存储。在retwis例子中,我们需要users,user的粉丝列表, user的关注用户列表等等。

    Users

    和传统的关系型数据库一样,每个用户有一个唯一的id关联,使用INCR创建唯一的id。

    除了这些值以外,有时候我们希望根据用户名找到用户的id,所以每增加一个用户信息,我们需要存用户的id。因为redis没法根据值来查询key。
    HSET和HMSET的区别就是,HMSET允许设置多个field/value。

    Followers(粉丝), Following(关注), Updates(更新)

    用户的粉丝和关注都使用Sets集合存储,因为需要是唯一的集合,并且可以使用Sorted sets有序集合存储,这样可以根据关注或被关注的时间进行排序。

    接下来先再添加一个用户

    用户2关注用户1

    用户1增加一个粉丝

    通过ZRANGE命令查询所有的关注对象
    ZRANGE key start stop
    stop为-1表示查到集合中倒数第一个数,-2查到倒数第二个数,以此类推。

    接下来使用List来存储用户的更新,并且按照更新的时间倒序,以及使用LRANGE来进行翻页查询。




    为了避免将session存在应用服务里,因为应用服务可以部署在不同的机器上,所以可以将session放在redis里,持久存储。
    如果用户认证成功,需要将生成的session添加到用户hash结构里。同时,如果我们需要根据session得到用户id。

    这样就基本上能满足twitter-clone例子中的数据存储

  • 相关阅读:
    cocos2d-x 3.0rc1 编译cpp-testsproject
    [wxWidgets]_[0基础]_[不常见但有用的类wxStandardPaths]
    教你摆脱低级程序猿 项目中cocopads的安装使用
    Android使用代码模拟HOME键的功能
    UVA 1508
    asp.net mvc5 安装
    Java_并发线程_Semaphore、CountDownLatch、CyclicBarrier、Exchanger
    crm操作产品实体
    BZOJ 3172 [Tjoi2013]单词 AC自己主动机(fail树)
    ADO与ADO.Net
  • 原文地址:https://www.cnblogs.com/holiday2000/p/9638649.html
Copyright © 2011-2022 走看看