Showing
1 changed file
with
7 additions
and
8 deletions
@@ -3,21 +3,20 @@ | @@ -3,21 +3,20 @@ | ||
3 | ### Redis设计 | 3 | ### Redis设计 |
4 | 4 | ||
5 | 1.记录用户连续签到的天数。 Star-User-Checked-Days。 用户签到成功之后,需要设置这个值。 key过期时间是当天时间到第二天零点,例如,设置时间为 `2016-04-01 17:48`, 则失效时间为`2016-04-03 00:01` | 5 | 1.记录用户连续签到的天数。 Star-User-Checked-Days。 用户签到成功之后,需要设置这个值。 key过期时间是当天时间到第二天零点,例如,设置时间为 `2016-04-01 17:48`, 则失效时间为`2016-04-03 00:01` |
6 | -Key Value结构: `KEY: checkedDays:userId, Value: NUMBER` , 例如 `checkedDays:10623456-->6` 表示`10623456`已经连续签到6天。 | 6 | +Key Value结构: `KEY: <UID>, Value: NUMBER` , 例如 `checkedDays:10623456-->6` 表示`10623456`已经连续签到6天。 |
7 | 7 | ||
8 | 2.记录用户当天是否签到。Star-User-Is-Checked-Today。 用户签到成功之后,需要设置这个值。key过期时间:当天时间到今晚零点, 例如,设置时间为 `2016-04-01 17:48`, 则失效时间为`2016-04-02 00:01` | 8 | 2.记录用户当天是否签到。Star-User-Is-Checked-Today。 用户签到成功之后,需要设置这个值。key过期时间:当天时间到今晚零点, 例如,设置时间为 `2016-04-01 17:48`, 则失效时间为`2016-04-02 00:01` |
9 | - | ||
10 | -Key Value结构: `KEY: Star-User-Is-Checked-Today:userId, Value: Y or N` , 例如 `Star-User-Is-Checked-Today:10623456-->Y` 表示`10623456`当天已经签到。 | 9 | +Key Value结构: `KEY: <UID>, Value: Y or N` , 例如 `10623456-->Y` 表示`10623456`当天已经签到。 |
11 | 10 | ||
12 | 3.记录用户签到记录。 Star-User-Checkin-Record。 用户缓存用户的签到记录。查询的时候,从数据库中获取,然后写入到缓存中。用户签到之后,删除缓存 | 11 | 3.记录用户签到记录。 Star-User-Checkin-Record。 用户缓存用户的签到记录。查询的时候,从数据库中获取,然后写入到缓存中。用户签到之后,删除缓存 |
13 | -LIST结构: `KEY: record:userId , Value: [2015-03-12 18:12:12, 2015-03-13 18:12:12 ]` | 12 | +LIST结构: `KEY: <UID> , Value: [2015-03-12 18:12:12, 2015-03-13 18:12:12 ]` |
14 | 13 | ||
15 | 14 | ||
16 | 5.记录用户最近一次签到时间: 缓存用户最近的签到时间。Star-User-Checkin-LastTime 。 用户签到成功之后,需要设置这个值。 失效: 1个月 | 15 | 5.记录用户最近一次签到时间: 缓存用户最近的签到时间。Star-User-Checkin-LastTime 。 用户签到成功之后,需要设置这个值。 失效: 1个月 |
17 | -Key Value结构: KEY: UID, Value:LAST-CHECKIN-TIME(最近签到时间(unix 秒数)), 例如:10623456-->143026666 | 16 | +Key Value结构: `KEY:<UID>, Value:LAST-CHECKIN-TIME(最近签到时间(unix 秒数))`, 例如:`10623456-->143026666` |
18 | 17 | ||
19 | -6.所有用户的亲密度信息 Star-Cohesion-Order, 不失效 | ||
20 | -SortedSet接口, KEY: CohesionOrder, Value: { <LAST-CHECKIN-TIME:UID>--> 亲密度信息 } | 18 | +6.所有用户的亲密度信息 Star-Cohesion-Order, 不失效。 用户签到成功,修改了亲密度之后,添加element。 |
19 | +SortedSet接口, `KEY: STAR_ORDER, Value: { <LAST-CHECKIN-TIME:UID>--> 亲密度信息 }` | ||
21 | 20 | ||
22 | 21 | ||
23 | 22 | ||
@@ -50,7 +49,7 @@ Table: user_checkin_record 用户-签到记录表。 签到成功之后, | @@ -50,7 +49,7 @@ Table: user_checkin_record 用户-签到记录表。 签到成功之后, | ||
50 | ### 流程 | 49 | ### 流程 |
51 | 50 | ||
52 | #### 签到 | 51 | #### 签到 |
53 | -插入到签到记录表--> 计算应该新增的亲密度--> 修改用户亲密度表,添加亲密度 -->清楚缓存(Cohesion-Order) | 52 | +插入到签到记录表--> 计算应该新增的亲密度--> 修改用户亲密度表,添加亲密度 |
54 | 53 | ||
55 | #### 查询亲密度前3名 | 54 | #### 查询亲密度前3名 |
56 | Star-Cohesion-Order缓存中取前3个 | 55 | Star-Cohesion-Order缓存中取前3个 |
-
Please register or login to post a comment