当前位置: 首页 > news >正文

四川阿坝建设招标网站一般人做不了咨询顾问

四川阿坝建设招标网站,一般人做不了咨询顾问,暴雪中国官网,新媒体运营面试问题【Spring连载】使用Spring Data访问Redis(三)----连接模式Connection Modes 一、Redis Standalone二、向Master写入,从Replica读取三、Redis Sentinel四、Redis Cluster Redis可以在各种设置中运行。每种操作模式都需要特定的配置&#xff0c…

【Spring连载】使用Spring Data访问Redis(三)----连接模式Connection Modes

  • 一、Redis Standalone
  • 二、向Master写入,从Replica读取
  • 三、Redis Sentinel
  • 四、Redis Cluster

Redis可以在各种设置中运行。每种操作模式都需要特定的配置,下面几节将对此进行解释。

一、Redis Standalone

最简单的入门方法是使用单机Redis,配置LettuceClientConfiguration或JedisConnectionFactory,如下例所示:

@Configuration
class RedisStandaloneConfiguration {/*** Lettuce*/@Beanpublic RedisConnectionFactory lettuceConnectionFactory() {return new LettuceConnectionFactory(new RedisStandaloneConfiguration("server", 6379));}/*** Jedis*/@Beanpublic RedisConnectionFactory jedisConnectionFactory() {return new JedisConnectionFactory(new RedisStandaloneConfiguration("server", 6379));}
}

二、向Master写入,从Replica读取

Redis的Master/Replica设置——没有自动failover(关于自动故障转移,请参见Sentinel)——不仅允许数据安全地存储在更多的节点上。通过使用Lettuce,它还允许从replicas读取数据,同时将写操作推送到master。使用LettuceClientConfiguration命令可以设置要使用的读写策略,示例如下:

@Configuration
class WriteToMasterReadFromReplicaConfiguration {@Beanpublic LettuceConnectionFactory redisConnectionFactory() {LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder().readFrom(REPLICA_PREFERRED).build();RedisStandaloneConfiguration serverConfig = new RedisStandaloneConfiguration("server", 6379);return new LettuceConnectionFactory(serverConfig, clientConfig);}
}

对于通过INFO命令报告非公共地址的环境(例如,当使用阿里云时),请使用RedisStaticMasterReplicaConfiguration而不是RedisStandaloneConfiguration。请注意,RedisStaticMasterReplicaConfiguration不支持Pub/Sub。

三、Redis Sentinel

为了处理Redis高可用性, Spring Data Redis支持Redis Sentinel,使用RedisSentinelConfiguration,如下例所示:

/*** Lettuce*/
@Bean
public RedisConnectionFactory lettuceConnectionFactory() {RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration().master("mymaster").sentinel("127.0.0.1", 26379).sentinel("127.0.0.1", 26380);return new LettuceConnectionFactory(sentinelConfig);
}/*** Jedis*/
@Bean
public RedisConnectionFactory jedisConnectionFactory() {RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration().master("mymaster").sentinel("127.0.0.1", 26379).sentinel("127.0.0.1", 26380);return new JedisConnectionFactory(sentinelConfig);
}

RedisSentinelConfiguration也可以用PropertySource来定义,它允许你设置以下属性:

  • spring.redis.sentinel.master:主节点的名称。
  • spring.redis.sentinel.nodes:以逗号分隔的host:port对列表。
  • spring.redis.sentinel.username:使用Redis Sentinel进行身份验证时应用的用户名(需要Redis 6)
  • spring.redis.sentinel.password:使用Redis Sentinel进行身份验证时应用的密码

有时,需要与其中一个Sentinel直接互动。使用RedisConnectionFactory.getSentinelConnection()或RedisConnection.getSentinelCommands()可以访问配置的第一个active Sentinel。

四、Redis Cluster

集群支持与非集群通信基于相同的构建块。RedisClusterConnection是RedisConnection的子接口,它处理与Redis集群的通信,并将错误转换到Spring DAO异常层次结构中。RedisClusterConnection实例是使用RedisConnectionFactory创建的,必须使用关联的RedisClusterConfiguration进行设置,如下例所示:
示例1:Redis集群的RedisConnectionFactory配置示例

@Component
@ConfigurationProperties(prefix = "spring.redis.cluster")
public class ClusterConfigurationProperties {/** spring.redis.cluster.nodes[0] = 127.0.0.1:7379* spring.redis.cluster.nodes[1] = 127.0.0.1:7380* ...*/List<String> nodes;/*** Get initial collection of known cluster nodes in format {@code host:port}.** @return*/public List<String> getNodes() {return nodes;}public void setNodes(List<String> nodes) {this.nodes = nodes;}
}@Configuration
public class AppConfig {/*** Type safe representation of application.properties*/@Autowired ClusterConfigurationProperties clusterProperties;public @Bean RedisConnectionFactory connectionFactory() {return new LettuceConnectionFactory(new RedisClusterConfiguration(clusterProperties.getNodes()));}
}

RedisClusterConfiguration也可以通过PropertySource定义,并具有以下属性:

  • spring.redis.cluster.nodes:逗号分隔的host:port对列表。
  • spring.redis.cluster.max-redirects:允许的集群重定向数。

初始配置将driver库指向一组初始集群节点。实时集群重新配置所产生的更改仅保留在native driver中,不会写回配置中。

http://www.yayakq.cn/news/762368/

相关文章:

  • 手机怎么打开微信网站广州安全教育平台网
  • 网站分享组件阿里云除了做网站还能用来干什么
  • 西安网站建设公司 云阔vue 做门户网站
  • 网站建设的主要工作精美网站欣赏
  • 做网站大概要rails开发的网站开发
  • 网站开发综合实训记录周记为知笔记导入wordpress
  • 网站提供的服务axrue怎么做网站的原型图
  • 邯郸企业做网站方案青浦企业网站制作
  • 做h5哪个网站好天猫网站什么时候建设
  • 沙市做网站weiswordwordpress在线教育插件
  • 网站建设如何上传文件淮北人论坛招聘网
  • 大沥做网站帮别人做彩票网站吗
  • 合肥网站开发公司让别人做网站需要提供什么
  • 手机网站会员中心模板wordpress不同分类使用不同模板
  • 网站建设全流程图个人域名备案有什么风险
  • 自己做的视频网站视频加载慢网页界面设计的用途有
  • 成都网站建设138基于站点的推广
  • 汽车网站哪个好wordpress 倒计时
  • 一个网站有几个快照帝国cms 网站迁移
  • 企业网站建设费用属管理费用吗郑州全域静态管理
  • 合肥官方网站优化费用网站备案取名
  • 装修网站cms做动效的网站
  • 网站设计公司网站设计外贸都是在哪些网站做
  • 做图表好看的网站分类网站建设与开发
  • 怎么做查询数据输入的网站手机端网站怎么做排名
  • 网站后期维护包括一个好的网站应该具有什么条件
  • 网站建设视频教程免费下载网站301如何做
  • 零基础做网站教程卡密提取网站怎么做
  • 仿网站源码做公司网站,哪个程序用的多
  • 内网代理ip建设网站wordpress数据库安装失败