(世界十大博彩公司) 前后端的数据如何实时对接?

用户通过前端不断的添加任务,这些任务被压到数据库;然后,后端程序从数据库获取这些任务并执行。但是因为后端每次遍历数据库之间有个时差,导致有些任务创建后并不能立马被后端获取到,该任务也就不能立马执行了。如何让后端获取任务的过程中是实时的?

加机器…

只要是轮循就一定会有这个时间间隔。
mysql好像没有监听数据机制
你可以在前面加一层redis或者mq
1.前端添加任务
2.任务写入redis/mq,写入mysql
3.后端监听redis/mq,获取到任务执行,执行完成后更新mysql

mq就不用说了,都是监听
redis的用pubsub 来做
redis pubsub 用起来很简单。http://redis.cn/commands/pubs…
这样子后端执行任务的也可以搞并发

前端应该不能直接写数据库吧,前端应该是发送的请求,后端执行前端的请求,那么后端在完成写入数据库操作后,直接再发送一条请求执行任务的消息就行了。
当然这条消息也可以在前端收到写入成功消息后,再由前端发起,只是这么做显得不太合理,也浪费服务器资源。
这样后端执行任务的方式也不该是轮询,而应该改成监听响应。当监听到新任务的执行请求时,从数据库取数据,并添加到务队列中。

发表评论

电子邮件地址不会被公开。 必填项已用*标注