0

我来自mysql,试图围绕redis。有些事情很明显,但有几件事让我很难过。你将如何在 redis 中实现这些东西?

第一的

我有一种先到先得的预订系统。当用户进入特定页面时,它会查询下表并返回第一个badgewhere reservedby= 0,然后reservedby使用用户 ID 进行更新。如果用户未在 15 分钟内完成该过程,reservedby则重置为0. 如果用户完成该过程,我会从表中删除该行并将其badge与用户数据一起存储。顺序很重要,徽章在列表中越高越好,所以如果我要删除它而不是以某种方式将其标记为保留,如果该过程未在 15 分钟内完成,则需要返回顶部.

id  | badge | reservedby
------------------------
240 | abc   | 4249
241 | bbb   | 0
242 | rrr   | 0

第二

我有一组不经常更改但被查询很多的数据。当页面加载时,它会用每个 填充一个选择框color,当您选择一种颜色时,会显示相应的smlg

id |  color   |  sm  |  lg
---------------------------
1  |  blue    |  1   |  5
2  |  red     |  3   |  10
3  |  yellow  |  7   |  8

最后

就存储用户数据而言,我正在做的是INCR users然后获取该值hmset user:<INCR users value> badge "aab" joindate "10/30/2013"等等,这通常应该如何完成?

4

1 回答 1

0

以相反的顺序

  • 是的,这就是你IDs在 Redis 中增加的方式,没有自动化功能。

  • 取决于表更改的频率,如果它每月一次考虑向客户端提供静态 json 文件并让客户端处理其余代码。

  • 考虑使用 aZSET并尝试在分数处保留唯一值,或者 aLIST与 json 值保持一致。

恕我直言,您的预订系统内部有点糟糕,我可以通过发送多个 http 请求轻松地预订您的网站优惠,其他生产网站的优惠有限,先付款的用户有房间,直到付款成功处理它只是继续前进,失败时它会恢复原状。

于 2013-10-31T06:58:50.180 回答