springmvc异步更新mysql数据库的实现方法?!

我这边有这样一个需求,通过IoT在100ms内采集到的数据生成500个insert或者update请求操作数据库,
我如何才能将这些请求从原方法中异步出来,并且进行批量操作?
有人跟我说用redis缓存来做,可是我查到的都是用redis来做批量读的,这个在读的时候成功了,但是还是没有解决写的问题

给你提供思路
1.直接开启一个线程(Thread),让新线程来执行,就已经异步了;
2.自定义一个spring事件继承ApplicationEvent即可,然后在生成完语句后publish这个事件;
事件里面保存的就是你的语句或语句的引用,然后在处理事件的时候开启Async注解(spring)异步处理事件
3.将处理消息发送给消息队列,如kafka等;(适用于高并发场景)

如果业务量不大推荐使用第2种方式,业务量大使用第3种方式;
希望能够帮到你...

我觉得要不试试队列?把请求放到队列里面,采用延时(或者多个队列)等方式,到时间后操作队列里的数据

我这也有个思路。

用Redis或者active mq。

nio(你应该用了mina,netty这类工具吧)那边收到数据后,直接把decode后的数据放入线程队列(写入redis或者发送到activemq那边)。

然后再做一个程序,作为消费者,订阅(Redis里有个lock方法可以形成类似订阅的效果)。

订阅的这边再去做插入和更新。

可以看看spring boot一类的微服务,可以比较方便的实现这个思路。

而且只要接受的活着,就能始终接受输入。

订阅可以启动好几个,分布在不同的机器或者虚拟机里,还能降低死锁的概率。

Redius 吧 楼上说的还是比较清楚的