Authored by chunhua

add

... ... @@ -24,16 +24,11 @@ Key Value结构: `KEY:<UID>, Value:LAST-CHECKIN-TIME(最近签到时间
SortedSet接口, `KEY: STAR_ORDER, Value: { <LAST-CHECKIN-TIME:UID>--> 亲密度信息 }`
流程如下:
![流程图] (https://www.processon.com/chart_image/5703a223e4b0bf3d8fdbf295.png)
### 表设计
Table: user_cohesion 用户-亲密度表
#### Table: user_cohesion 用户-亲密度表
| 列名 | 说明 |
| :--------- | :------------------- |
... ... @@ -42,7 +37,7 @@ Table: user_cohesion 用户-亲密度表
| last_update| 更新时间,格式为int (到现在的秒数) |
Table: user_checkin_record 用户-签到记录表。 签到成功之后,添加记录
#### Table: user_checkin_record 用户-签到记录表。 签到成功之后,添加记录
| 列名 | 说明 |
| :--------- | :------------------- |
... ... @@ -54,12 +49,13 @@ Table: user_checkin_record 用户-签到记录表。 签到成功之后,
### 流程
#### 签到
插入到签到记录表--> 计算应该新增的亲密度--> 修改用户亲密度表,添加亲密度
插入到签到记录表--> 计算应该新增的亲密度--> 修改用户亲密度表,添加亲密度 --》缓存修改(见下图)
#### 查询亲密度前3名
Star-Cohesion-Order缓存中取前3个
![流程图] (https://www.processon.com/chart_image/5703a223e4b0bf3d8fdbf295.png)
#### 获取我的亲密度排名
从缓存中找到用户最近一次签到时间(如果没有,则从数据库user_checkin_record中查找)-->从CohesionOrder中找出Element的order
#### 查询亲密度前3名
所有用户的亲密度信息Cache中取前3个
#### 获取我的亲密度排名
`记录用户最近一次签到时间`Cache 中找到用户最近一次签到时间(如果没有,则从数据库user_checkin_record中查找,并且设置到缓存中)-->从 `所有用户的亲密度信息` Cache 中找出Element的order
\ No newline at end of file
... ...