优秀的编程知识分享平台

网站首页 > 技术文章 正文

Redisson执行过程分析(redis运行机制)

nanyue 2024-09-01 00:05:58 技术文章 5 ℃

以例子AtomicDouble为例分析下执行过程

  1. 从RedissonAtomicDouble可以看出所有Sync操作实际都是同步调用CommandAsyncService 的get分析Async future结果返回完成
  2. 通过分析 this(commandExecutor.getConnectionManager().getCodec(),
    commandExecutor, name);
    可以知道默认使用org.redisson.codec.JsonJacksonCodec及org.redisson.command.CommandSyncService
  3. 异步过程有一个关键数据类:AsyncDetail,命令、各种promise、future都保存在这个类中
  4. 所有发送命令,最终进入CommandAsyncService 的sendCommand方法,调用RedisConnection的send方法
  5. send方法写入后,由class commandsQueue执行,commandsQueue是一个netty的ContextHandler,在public class RedisChannelInitializer 的protected void initChannel(Channel ch)函数中被声明
  6. 对具体执行过程可以参考https://blog.csdn.net/zilong_zilong/article/details/78609423,但请注意版本比较旧

Tags:

最近发表
标签列表