Java语言实现Redis集群方案:Jedis集群配置与优化技巧

创始人
2024-12-30 22:41:34
0 次浏览
0 评论

Redis集群方案应该怎么做

以Java语言为例。
葡萄品种的类型通常用来解决大问题:

使用redis-trib.rb。
这是安装主服务器时附带的集群。
这个集群不仅解决了高并发的问题,还解决了高可用的问题。
Jedis使用JedisCluster来访问类。

使用Jedis自带的客户端ShardedJedisPool类。

使用twemproxyshell管理器。
连接管理器可以使用Jedis类(单连接)和JedisPool类(多连接)。

集群配置也可以通过Redis警察机制来配置,一主多从。

如有疑问,可以留言。

面试问题redis有哪些集群方案

多个同构tempproxy(配置相同)同时工作,接受客户端请求,并根据哈希算法转发给相应的返回。

该解决方案的使用已被内部放弃,新架构未开源元数据命令的分发Code-MandoCode-Mando:接口集成的管理工具Code-proxy:无状态代理,兼容Redis透明业务协议Code-Redis:从2.8版本开始,2本程序增加了支持slot和迁移命令

优点:-开发简单,应用几乎透明-性能比Twemproxy更好-图形界面,易于扩展,操作方便维护

缺点:-管理器仍然影响性能-组件太多,需要大量机器资源-返回码已更改,因此无法与正式版本同步。
开发缓慢——开发团队准备推广基于redis改造的reborndb

RedisCluster:

P2P模式,非中心化密钥分为16384个。
每个实例的槽位负责客户端槽位请求部分。
如果没有连接到实,则将实例转发到对应的实例。
通过Gossip协议同步节点信息

优点:-所有组件集中在一个盒子里,部署简单,节省机器资源-比管理器模式更好的性能-数据可自动故障转移和插槽迁移-官方原生集群解决方案。
更新和支持受到保护

缺点:-架构相对较新,最佳实践很少-对多键操作的支持有限(驱动程序可以救国)-为了获得更好的性能,客户端需要安装。
提升表信息-节点发现和重新分片操作不够自动化

redis集群时jedis该怎么配置

搭建Redis集群时;Jedis的配置方式有很多种,通常常见的有以下三种方式。
第一的,使用服务器端分片,请使用Redis安装附带的redis-trib.rb脚本。
可以通过Jedis的JedisCluster类来访问集群中的数据。
第二,您可以使用ShardedJedisPool类Jedis附带的客户端分片功能。
此方法通过客户端进行隔离,并允许更好地管理连接。
此外,您还可以使用代理进行分片,例如twemproxy。
在这种情况下,连接代理可以使用Jedis类(单连接)或JedisPool类(多连接)。
下面是使用JedisCluster类的示例:javaJedisClustercluster;;if(bundle==null){thrownewIllegalArgumentException("[redis.properties]isnotfound!");}//创建jedis池配置实例JedisPoolConfigconfig=newJedisPoolConfig();//Pol配置项值config.setMaxTotal(Integer.valueOf(bundle.getString("redis.pool.maxActive").trim()));config.setMaxIdle(Integer.valueeOf(bundle.getString("redis.pool.maxIdle").trim()));config.setMaxWaitMillis(Long.valueOf(bundle.getString("redis.pool.maxWait").trim()));config.setTestOnBorrow(Boolean.valueOf(bundle.getString("redis.pool.testOnBorrow").trim()));config.setTestOnReturn(Boolean.valueOf(bundle.getString("redis.pool.testOnReturn").trim()));Sethps=newHashSet>();hps.add(newHostAndPort("192.168.242.133",4001));hps.add(newHostAndPort("192.168.242.133",4002));hps.add(newHostAndPort("192.168.242.133",4003));hps.add(newHostAndPort("192.168.242.133)));cluster=newJedisCluster(hps,2000,5);}publicvoidtest(){//其他执行redis操作cluster.set("key","value");}其他更多信息配置方法请留言。
热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
Linux Redis操作指南:安装、配... Linux系统进入redis并查询值1.进入redisredis-cli2.获取...