将进程从mysql转换为Redis

时间:2013-10-30 18:14:45

标签: mysql node.js nosql redis node-redis

我来自mysql,试图绕着redis。有些事情非常明显,但有几个让我难过。你会如何在redis中实现这些东西?

第一

我有一种先到先得/预约系统。当用户转到特定页面时,它会查询下表并返回第一个badge reservedby = 0,然后使用用户ID更新reservedby。如果用户未在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"等,这通常是怎么做的?

1 个答案:

答案 0 :(得分:0)

按相反顺序

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

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

  • 考虑使用ZSET并尝试将唯一值保留在分数上,或者将LIST与json值保持一致。

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