我可以将Redis用作计划队列,对密钥过期事件作出反应吗



我正在考虑在我的Java应用程序中使用Redis,而不是Quartz。

这个想法是重用Redis密钥过期机制,作为作业触发器。工作流程如下:

  1. 在Redis中创建一个密钥,其到期时间为计划时间
  2. 在Java中监听密钥过期
  3. 密钥过期时触发由密钥名称定义的作业

有人试过这样的用例吗?

Ya我试图解决redis缓存过期的几个问题。我安装了NodeJ。

但您必须维护此逻辑,即使它在下一个流程中过期,并根据您的业务逻辑设置过期时间

redisCache.config('set','notify-keyspace-events','KEA');
redisCache.subscribe(`__keyevent@${process.env.REDIS_DATABASE}__:expired`);
redisCache.on('message',  (channel, key) => {
    /** 
      Logic
   */
});

最新更新