我来自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
填充一个选择框,当您选择颜色时,会显示相应的sm
和lg
。
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"
等,这通常是怎么做的?
答案 0 :(得分:0)
按相反顺序
是的,这就是你如何在Redis中增加IDs
,没有自动功能。
取决于表的更改频率,如果每月一次考虑向客户端提供静态json文件并让客户端处理其余代码。
考虑使用ZSET
并尝试将唯一值保留在分数上,或者将LIST
与json值保持一致。
恕我直言您的预订系统内部有点糟透了,我可以轻松预订您的网站提供简单,通过发送多个http请求,其他生产网站有限的优惠和先支付的用户有房间,直到付款成功处理它只是继续前进,失败时它会恢复。