公司的软件采用 c/s 架构。客户端通过连接 webservice提取任务。webservice中设计如下:为了缓解数据库压力,每一个小时将数据取出放进服务器缓存中。
然后客户端向服务器进行请求。每次取到一条数据后就把缓存中对应数据删除。但是现在由于并发数比较大。经常发生多个用户取到同1个任务的情况。请各位朋友指导下解决方案。以下附上代码截图和数据库请求中的截图。以下为代码截图。简单的流程如下:内存中有一些数据: 用户每取一条,就删掉一条。一直取到没数据会就会重新载入。现在的问题:由于用户同时连接接口:变成2个用户取到了相同的数据。我们任务为唯一性,不想重复派发。
求指导解决方案。