-
前台输入笔记本名
-
前台向后台传入的参数、笔记本的名字
-
后台封装
a. 从session中获取用户名
b. 创建时间戳
c.封装rowkey
d. 保存到redis
key:用户名
value:list
步骤:
1、获取jedis连接
2、jedis.rpush(用户名, rowkey|笔记本的名字|创建时间|状态)
3、close
e. 保存到hbase
rowkey:封装的rowkey
列:笔记本名字,创建时间、状态
步骤:
1、创建表链接
2、创建put(rowkey)
3、put.add(列)
4、table.put(put)
5、close
f.事务:
当redis失败后,所有步骤停止
当redis成功,hbase成功,即成功
当redis成功,hbase失败,删除redis的内容(lrem)
2)删除笔记本
1.前台传过来的参数:笔记本的rowkey,笔记本的名字
2.后台: action查询笔记本下是否有笔记,有笔记返回false
3.删除redis
a. 拼串:rowkey|笔记本名|时间戳|状态
b. jedis.lrem(用户名,删除几次,rowkey|笔记本名|时间戳|状态)
4.删除hbase
a、获取rowkey
b、删除
5、事务: 删除都成功 redis不成功,都不成功 redis成功,hbase不成功,增加redis
3)修改笔记本1、前台输入:新的笔记本的名字
2、前台向后抬传入的参数:新的笔记本的名字,旧的笔记本的名,rowkey
3、后台的action处理 分割rowkey,获取时间戳,用户名
4、redis
a、拼装旧的串:rowkey|旧的名字|时间戳|状态
b、拼新串:rowkey|新的名字|时间戳|状态
c、删除旧的串:jedis.lrem( 用户名,几次,旧串)
d、加新的串:jedis.rpush(用户名,新串)
5、hbase
通过rowkey设置新的名字
封装put(rowkey)
put.add(新的名字)
table.put(put);
6、事务: redis成功,hbase成功 redis失败,都失败 redis成功,hbase失败,删除redis的新的名字,添加旧的名字
4)查询用户的所有笔记本1、前台传过来的参数:空
2、查询redis
a、从session中获取用户名
b、以用户名作为key,去redis查询
c、jedis.lrange(用户名,0,llen(用户名));
d、返回前台
3、如果redis失败,从hbase查
1、获取表链接htable
2、创建rowkey过滤器,前缀是”用户名_*”
3、循环处理结果
2.笔记操作
1)查询笔记本下的所有笔记列表
1、前台传过来的参数:笔记本的rowkey 2、后台处理hbase
a、创建nb表的表链接
b、创建get(笔记本的rowkey)
c、处理result结果集,json
d、将json转换为list
e、处理list中的值,用“|”分割每列,封装到n个note中
f、返回前台
2)增加笔记
1、前台输入的参数:笔记的名字 2、前台传到后台的参数:笔记本的rowkey,笔记的名字 3、action的处理
a、创建时间戳
b、用用户名和时间戳拼装笔记的rowkey
4、后台处理hbase的nb表 将笔记添加到笔记本的笔记列表中
a、获取表链接
b、取出笔记本的历史笔记列表
c、将历史笔记列表中添加新的笔记信息
d、创建put(笔记本的rowkey)
e、put.add(新的笔记列表)
f、close
5、hbase的n表 将笔记的信息存到n表中
3)查询笔记详情1、前台传到后台的参数:笔记的rowkey
2、后台处理:查询笔记表
4)修改笔记1、前台输入的参数:笔记的名字,笔记的内容 2、前台向后台传的参数:笔记本的rowkey、笔记的rowkey、新笔记的名字、笔记的内容、旧的笔记的名字 3、修改nb表
a、获取nb表的表链接
b、查询历史的笔记信息
c、将笔记信息装成list
d、拼装旧的笔记信息的串
e、list.remove(旧的笔记信息的串)
f、拼装新的笔记信息的串
g、list.add(新的笔记信息的串)
h、添加操作htable.put().
4、修改n表 重新添加笔记名字和笔记内容 5、事务:
a、nb表失败,都失败
b、都成功
c、nb成功,n失败,还原nb表的笔记列表
5)迁移笔记
1、前台传过来的参数:旧的笔记本的rowkey,新的笔记本的rowkey,笔记的rowkey,笔记的名字 2、后台处理 拼装笔记信息的串 3、修改旧的笔记本
a、将笔记本下的笔记列表查出来
b、删除笔记信息
4、修改新的笔记本
a、将笔记本下的笔记列表查出来
b、添加笔记信息
5、事务:
a、都成功
b、都失败
c、第一个操作成功,第二个操作失败,还原第一个操作
6)彻底删除笔记
1、前台传过来的参数:笔记的rowkey,笔记的名字,笔记本的rowkey 2、后台处理(nb表):
a、拼串
b、获取历史的笔记本的笔记列表list
c、将串从list中删除
d、保存list
3、后台处理(n表): 通过rowkey删除笔记
4、事务:
a、都成功
b、都失败
c、笔记本成功,笔记失败,还原笔记本