HBase in action学习之如何设计一个关注列表
2015-01-13 11:02
197 查看
1.设计一个关注列表
行键使用用户id表示
列限定名(列名)使用数字
还需要增加一个计数列count,用来对列的操作,即关注与取消关注的操作
2.查询该用户的关注列表
Get g = new Get(Bytes.toBytes(用户id));
Result result = htable.get(g);
3.查询用户是否关注了某用户
Get g = new Get(Bytes.toBytes(用户id));
Result result = htable.get(g);
根据取出来的值比较。
4.关注了一个新用户
获取行键(用户id)
count <-计数加1
put 进去,设置列名:count,值就是新用户id,更新计数器(更新操作就是根据行键和列族与列名重新put一个值)
5.取消关注
与4基本相同,put变成delete?计数器减1,更新计数器。
后续说,这种方案不科学。
反过来,使用被关注用户id作为列限定名(列名),因为单元值不能为空,但可以是任何内容,就是说要给它存储些东西,随便地给个数字1。
行键使用用户id表示
列限定名(列名)使用数字
还需要增加一个计数列count,用来对列的操作,即关注与取消关注的操作
2.查询该用户的关注列表
Get g = new Get(Bytes.toBytes(用户id));
Result result = htable.get(g);
3.查询用户是否关注了某用户
Get g = new Get(Bytes.toBytes(用户id));
Result result = htable.get(g);
根据取出来的值比较。
4.关注了一个新用户
获取行键(用户id)
count <-计数加1
put 进去,设置列名:count,值就是新用户id,更新计数器(更新操作就是根据行键和列族与列名重新put一个值)
5.取消关注
与4基本相同,put变成delete?计数器减1,更新计数器。
后续说,这种方案不科学。
反过来,使用被关注用户id作为列限定名(列名),因为单元值不能为空,但可以是任何内容,就是说要给它存储些东西,随便地给个数字1。
相关文章推荐
- 机器学习6--如何衡量一个学习算法的性能和如何设计一个系统
- Linux内核设计第七周学习总结 Linux内核如何装载和启动一个可执行程序
- java学习心得 关于如何设计一个拼图游戏
- 如何设计一个深度学习项目
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- 面向对象OO 设计、架构终极理解, 以及如何学习一个领域
- 如何设计一个深度学习项目
- 安卓学习之路之如何显示一个listview列表视图
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 我是如何学习设计模式的九:轻松一下,学习一个简单的:单例模式(最简单,但是也是最有用的)
- 如何建立一个网站?规划、设计、目的、原则、宣传(三)
- 设计模式研究:如何判断一个封装方案是好是坏
- HTC组件学习(如何创建一个HTC组件)