设计思想
将云笔记信息分别存储在redis和hbase中。
- redis(缓存):存储每个用户的笔记本信息
- hbase(持久层):存储用户的笔记本信息、笔记本下的笔记列表、笔记具体信息。
笔记本(notebook)
redis
key | Value |
loginName | List |
List<string>
: List<笔记本的rowkey | 笔记本名称 | 时间戳 | status>
例子:
List<senfeng_134223232343|aaaddd|1401761871307|0>
hbase
表名: nb
rowkey : loginName_ timestamp
列簇1: noteBookInfo(nbi):
列:
- notebookname(nbn):笔记本名称
- createTime(ct):创建时间
- status(st):状态
- noteList(nl):笔记本下的笔记列表,是个json串(noteRowKey|name| createTime| status)
例如:
笔记(note)
hbase
表名: n
RowKey : loginName_timestamp
列簇1:noteInfo(ni): 笔记信息
列:
- notename(nn):笔记的名字
- createTme(ct):创建时间
- status(st):笔记状态
列簇2: ContentInfo(ci):笔记本容信息
列:
content(c): 笔记内容
创建hbase表语句
create ‘nb’,’nbi’ create ‘n’,’ni’,’ci’