半吊子开发 2013-07-30 05:50 采纳率: 0%
浏览 952

关于一个cache和timer的代码处理

需要写一个接口.
业务:把一些数据放入cache里,数据有一个发送时间,这个发送时间到了,才执行入库操作。
对于chache里数据还能执行立即发送,停止,等待这些指令。

现在我不清楚,在chche里怎么去判断哪一条数据时间到了。去执行入库操作。

需要给cache放置一个定时器(一个线程),根据cache里面的数据发送时间,cache丢出这条数据,进行入库。而不是每条数据放置一个定时器(这样就是非常多的线程)。有什么好的办法,可以让cache(根据时间)知道要丢出的哪条数据吗,

求大神指点。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-09 14:51
    关注

    您可以使用定时任务来解决此问题。您可以使用多种方法来实现定时任务,例如使用线程、使用计时器或使用cron表达式。

    在您的定时任务中,您可以每隔一段时间扫描缓存中的数据,并检查其发送时间是否已到。如果是,则可以将该数据插入数据库,并将其从缓存中删除。


    在实现此功能时,还需要考虑如何处理定时任务本身的同步和并发问题。例如,您可能希望防止多个线程同时对缓存进行写入操作,或者在缓存中的数据被删除之前,防止新数据被插入。


    在实现此功能时,您还可能希望考虑使用像Redis这样的缓存数据库,其中包含内置的定时任务功能。这样,您就可以使用Redis的定时任务功能来执行每隔一段时间的扫描,而无需自己实现定时任务。

    评论

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致