本文是在window环境下测试

什么是分片

当数据量大的时候,把数据分散存入多个数据库中,减少单节点的连接压力,实现海量数据存储

那么当多个请求来取数据时,如何知道数据在哪个redis呢,redis有自己的算法,下图是负载均衡的理解

步骤:

第一步:分配端口号,启动redis服务

  master1: 6500     master: 6501

第二步:测试

    jar:

 

代码:

/**
* 测试,多个主节点,分片
*/
@Test
public void test02(){
//GenericObjectPoolConfig对象代表池的配置
GenericObjectPoolConfig config = new JedisPoolConfig(); //设置redis服务器群
List<JedisShardInfo> list = new ArrayList<JedisShardInfo>(); //第一个主机
JedisShardInfo shard1 = new JedisShardInfo("localhost",6500);
shard1.setPassword("1");
list.add(shard1); //第二个主机
JedisShardInfo shard2 = new JedisShardInfo("localhost",6501);
shard2.setPassword("1");
list.add(shard2); //把服务器群加入到连接池中
ShardedJedisPool pool = new ShardedJedisPool(config,list); //ShardedJedis对象可以存取数据
ShardedJedis jedis = pool.getResource(); //看key在主机点的分布情况
for(int i = 0 ; i < 100;i++){
jedis.set("user"+i, "value"+i);
} //JedisShardInfo对象代表redis服务器,获得key=user1所在的redis服务器
JedisShardInfo info = jedis.getShardInfo("user1"); //查看主机
String host = info.getHost(); //获取redis服务器的端口号
int port = info.getPort(); System.out.println(host + " : " + port ); //归还资源
pool.returnResource(jedis);
}

  结果:

  master1:

     master2:

  更多的细节问题还需要私下多多研究

redis分片的更多相关文章

  1. redis分片和哨兵

    1 Redis的使用 1.1 Redis入门案例 1.1.1 什么样的数据使用缓存 说明:使用缓存其实为了减少用户查询数据库的时间.如果数据频繁的变更.不适用缓存.缓存中的数据应该保存修改频率不高的数 ...

  2. Redis 分片实现 Redis Shard [www]

    Redis 分片实现                                             Redis Shard https://www.oschina.net/p/redis-s ...

  3. Redis分片(分区)

    分区的概念 分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集. 如果只使用一个redis实例时,其中保存了服务器中全部的缓存数据,这样会有很大风险,如果单台redis服 ...

  4. redis分片集群安装部署

    redis分片集群安装与部署 分片集群的优势 高可用.且方便扩展. 数据分片,多节点提供服务,提高性能,数据提供冗余备份. 分片集群部署 只需更改配置文件 部署架构:6个节点,3主3从.数据集分为3片 ...

  5. Redis分片机制

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 前两篇文章对Redis主从复制和主从切换的知识点进行了介绍,但是也很明显的有一点小弊端: 需要定时进行主从复制 ...

  6. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  7. Redis短结构与分片

    本文将介绍两种降低Redis内存占用的方法——使用短结构存储数据和对数据进行分片. 降低Redis内存占用有助于减少创建快照和加载快照所需的时间.提升载入AOF文件和重写AOF文件时的效率.缩短从服务 ...

  8. redis集群与分片(1)-redis服务器集群、客户端分片

    下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型 ...

  9. Redis+Twemproxy分片存储实现

    from unsplash 为提高Redis存储能力的提升,以及对外提供服务可用性提升,有时候有必要针对Redis进行集群式搭建,比较常用的有Twemproxy分片存储以及官方提供的Cluster方式 ...

随机推荐

  1. 『.NET Core CLI工具文档』(十四)dotnet-install 脚本参考

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-install scripts reference 翻译:dotnet-install 脚本参考 名称 d ...

  2. 数据仓库开发——Kettle使用示例

    Kettle是一个开园ETL工具,做数据仓库用Spoon. 工具:下载Spoon,解压即可用   1.认识常用组件:     表输入     插入\更新     数据同步     文本文件输出     ...

  3. gitignore 规范

    gitignore 应该包含 5 块内容: 当前项目需要忽略的文件 项目性质需要忽略的文件(比如是 nodejs 项目,有些文件就需要忽略) 所有项目都需要忽略的文件(比如日志.临时文件) 操作系统需 ...

  4. SQLServer修改表字段名称

    EXEC sp_rename 'TableName.[ColumnName]','ColumnNew','COLUMN'

  5. BPM实例分享——金额规则大写

    金额规则大写 在涉及金额的流程中经常会遇到需要大写金额数据与小写金额匹配,如何实现输入数字后自动转换呢? 初级用法: 1.在默认表单基本属性javascript 中增加如下金额转换方法 /** 数字金 ...

  6. 为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?

    为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技 ...

  7. 解决NSTimer存在的内存泄漏的问题

    创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会 ...

  8. iOS 学习 - 2.据网址显示源码

    输入网址,解出源码,显示label 我这里是在第二个界面显示的,用的属性传值. A界面先从 storyboard 拖个 textfield 和一个 button .m里面button的方法 //按钮点 ...

  9. Extjs5 tabs实例

    <%@ page language= "java" contentType ="text/html; charset=UTF-8"     pageEnc ...

  10. jqgrid+bootstrap样式实践

    jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能 需要引入的样式 bootstrap.min.css ui.jqgrid.css 需要引入的JS jquery.min.js b ...