美文网首页
SpringBoot RedisTemplate使用jedis在

SpringBoot RedisTemplate使用jedis在

作者: steamed_bun | 来源:发表于2019-11-08 17:31 被阅读0次

1、使用SpringBoot的RedisTemplate时需要在配置文件中向容器中注入RedisConnectionFactory

2、打开RedisConnectionFactory接口可以如下的方法

/**
 * Provides a suitable connection for interacting with Redis Cluster.
 * 提供一个连接redis集群的连接
 *
 * @return
 * @since 1.7
 */
RedisClusterConnection getClusterConnection();

3、查看这个方法的实现 只有两个

getClusterConnection()的实现类.png
4、分别查看getClusterConnection()方法可以看到:
  • JedisConnectionFactory 返回的是 JedisClusterConnection
  • LettuceConnectionFactory 返回的是 LettuceClusterConnection
    5、找到其分别对scriptingCommands()的返回值:
  • JedisClusterConnection 返回的是JedisClusterScriptingCommands.INSTANCE==JedisClusterScriptingCommands
  • LettuceClusterConnection继承了LettuceConnection返回的是LettuceScriptingCommands
    6、查看对应的实现
  • JedisClusterScriptingCommands
    • 所有方法都是直接抛出异常,说明其并不支持集群下的script
    • 也可以看到使用JedisConnectionFactory 经常抛出的异常EvalSha is not supported in cluster environment.
  • LettuceScriptingCommands 则是有对应的实现

相关文章

网友评论

      本文标题:SpringBoot RedisTemplate使用jedis在

      本文链接:https://www.haomeiwen.com/subject/hraibctx.html