大数据(HBase)-云笔记项目(后端部分)

功能需求

笔记本

  • 创建笔记本
  • 修改笔记本
  • 删除笔记本

笔记

  • 新建笔记
  • 新建、修改笔记内容
  • 删除笔记

回收站

  • 删除的笔记进入回收站
  • 恢复回收站中的笔记
  • 彻底删除笔记

详细设计

  • 用HBase存储笔记本、笔记即笔记的具体内容等所有信息
  • 用Redis缓存每个用户的笔记本信息,提高系统效率

Redis结构设计

key value
userid List

- useid:用户登录名称
- List<String>:笔记本rowkey|笔记本名称|时间戳|status

笔记本表

row key info:name info:createtime info:status info:notelist
userid_timestamp 0/1 {“json1”,”json2”}

- 表名称:notebook
- rowkey:userid_timestamp
- 列族:info
- 列 name:笔记本名称
- 列 createtime:创建时间
- 列 status:0 可用,1 不可用
- 列 notelist:笔记列表,不包含笔记的详细信息
(noteRowKey|name| createTime| status)

之所以在笔记本表中冗余存储笔记列表的基本信息,是为了提高查询速度,在页面上,笔记本列表从redis中获取,如果不冗余存储笔记列表就需要从笔记表中获取,由于笔记表的数据量会很大,影响查询效率。

笔记表

row key info:name info:createtime info:status content:ci
userid_timestamp 笔记名称 创建时间 0/1 笔记内容

- 表名:note
- rowkey:userid_timestamp
- 列族:info,基本信息
- 列族:content,笔记详情
- 列 name:笔记名称
- 列 createtime:创建时间
- 列 status:笔记状态

创建表

create 'noteboot','info'
create 'note','info','content'

猜你喜欢

转载自blog.csdn.net/zhangdong2012/article/details/80028298