Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将进程从mysql转换为Redis_Mysql_Node.js_Nosql_Redis_Node Redis - Fatal编程技术网

将进程从mysql转换为Redis

将进程从mysql转换为Redis,mysql,node.js,nosql,redis,node-redis,Mysql,Node.js,Nosql,Redis,Node Redis,我来自mysql,试图用redis来吸引我的注意力。有些事情很明显,但有一对夫妇把我难住了。您将如何在redis中实现这些功能 首先 我有一种先到先得的预订系统。当用户进入特定页面时,它会查询下表并返回第一个徽章,其中reservedby=0,然后用用户id更新reservedby。如果用户未在15分钟内完成此过程,reservedby将重置为0。如果用户完成了该过程,我将从表中删除该行,并将徽章与用户数据一起存储。顺序很重要,徽章在列表中的位置越高越好,因此,如果我要删除它而不是以某种方式将其

我来自mysql,试图用redis来吸引我的注意力。有些事情很明显,但有一对夫妇把我难住了。您将如何在redis中实现这些功能

首先

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

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

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

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

至于存储用户数据,我正在做的是
INCR users
,然后取那个值,然后
hmset user:badge“aab”joindate“10/30/2013”
等等,这通常是应该如何做的吗?

以相反的顺序

  • 是的,这就是您在Redis中增加ID的方式,没有自动功能

  • >P>取决于表的频繁变化,如果它每月一次考虑将静态JSON文件服务到客户端,让客户端处理其余代码。

  • 考虑使用
    ZSET
    并尝试在分数处保留唯一值,或者使用带有json值的
    列表

我觉得你的预订系统内部有点糟糕,我可以很容易地预订你的网站,只需发送多个http请求,其他生产网站的报价有限,首先付款的用户拥有房间,直到付款处理成功后,它会继续,失败后会恢复