当前位置: 首页 > 知识库问答 >
问题:

Spring data Redis Cluster Lettuce连接设置

凌嘉志
2023-03-14
 @Configuration
    @ComponentScan(basePackages = { "com.test.*" })
    public class AppConfig {
    
        @Bean
        public LettuceConnectionFactory getLettuceConnectionFactory() {
              List<String> clusterNodes = Arrays.asList("redis-cluster----0001-001.redis-cluster---.usw2.cache.amazonaws.com:6379", "redis-cluster----0001-002.redis-cluster---.usw2.cache.amazonaws.com:6379");
              final LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(new RedisClusterConfiguration(clusterNodes));
              lettuceConnectionFactory.setTimeout(10000);
              lettuceConnectionFactory.setUseSsl(true);
              lettuceConnectionFactory.setVerifyPeer(false);
              lettuceConnectionFactory.setStartTls(false);
              lettuceConnectionFactory.afterPropertiesSet();
              return lettuceConnectionFactory;
        }
        
        @Bean
        public RedisTemplate<String, Object> redisTemplate() {
              final RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
              redisTemplate.setKeySerializer(new StringRedisSerializer());                                           
              redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
              redisTemplate.setConnectionFactory(getLettuceConnectionFactory());
              return redisTemplate;
        }
    
    }

共有1个答案

劳通
2023-03-14

为AWS弹性缓存使用DefaultLettucePool是好的选择吗

从功能的角度来看,它工作得很好,唯一的问题是它被弃用了,因此,使用它会产生技术上的债务。

setShareNativeConnection设置为false有什么缺点

它将增加应用程序的网络I/O,因为每个操作都将打开和关闭一个套接字。将其保持为true可确保多个LettuceConnection对象可以重用本机连接。

作为另一种选择,试着使用绝地武士作为你的引擎,而不是生菜。我使用这个库获得了一些很好的性能,它还支持连接池。

 类似资料:
  • 我得到权限拒绝(公钥)。在Windows 7 x64上 我所做的是: 1)也更新了我的git openSSH 2) 使用ssh keygen生成的密钥-t rsa-b 4096-C“myemail@gmailcom" 3) 把它们命名为“hub”,所以我有hub-hub。酒吧。ssh文件夹 4) 运行ssh代理 5) 运行ssh代理sh-c“ssh add”/hub’it said identit

  • 我们正在进行一个项目,该项目使用JSPlumb进行工作流呈现,并维护一个单独的数据模型,其中包括节点(id、位置、文本等)和连接,使用JSPlumb.bind使其与事件保持同步 当我开始重新创建连接时,我使用源和目标参数调用jsPlumb.connect,但ID似乎是在幕后创建的,因此与从数据模型加载的内容不匹配。这将是好的,除了在我不想删除该连接的ID从模型。。。 有没有办法手动设置连接器的ID

  • 从“开始”界面的“所有程序”打开TortoiseGit项目,以启动Puttygen。 点击“Generate”,然后在红色方框内移动鼠标,直到进度条进行到右边末端。 生成key后,就会切换到以下画面。点击“Save private key” 以保存ppk档案。 在“Public key”的文字就是公钥的内容。点击“Load”读取ppk文件可以再次显示公钥。 push时设定SSH连接,右击“Tort

  • 问题内容: 要指定SQLite连接属性,请使用org.sqlite.SQLiteConfig,它的内容如下: 使用c3p0创建连接池的过程如下: 问题:如何创建结合了两者的数据源,让我设置诸如连接池的最大池大小和sqlite的同步模式之类的东西? 问题答案: 尝试 现在,数据源将是c3p0 PooledDataSource,它包装了已根据需要配置的SQLite未池化数据源。 请参阅C3P0的文档,

  • 技巧 有人问我,如何通过选项来指定动态连接器,而不使用缺省系统自带的动态连接器。我后来查了下ld的手册,有这么一个选项: -Ifile --dynamic-linker=file Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF ex

  • 连接设备 接口说明 用于连接 扫描出来的蓝牙设备。 参数说明 字段 类型 必须? 说明 device RKBLEDevice 是 蓝牙设备 示例代码 Swift: RokidMobileSDK.binder.connect(device: RKBLEDevice) Objc: [RokidMobileSDK.binder connect:device]; 断开设备 接口说明 用于断开已经连接的

  • 连接蓝牙设备 接口说明 接口需传入蓝牙名称(蓝牙address重启后会变) 参数说明 字段 类型 必须? 说明 name String 是 设备名称 举个大栗子 RokidMobileSDK.binder.connectBT(name, new IBTConnectCallBack() { @Override public void onConnectSucceed(BTDevic