<一>. 背景介绍:
1. sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上, 以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。而这种“离散式”地存放,对客户端来说是透明的,对客户端来讲,完全看不到这种差别。
2. 常见的内存缓存中间件,比如Memcached支持服务器端Sharding,客户端根本无须关心具体的实现细节。而Redis并不支持服务器端分片,不过我们可以使用Jedis提供的API来实现客户端的分片,通过“一致性hash”算法,使得数据离散地存放在不同的服务器上面。
3. 对客户端来说,这是透明的,数据具体存在在那一台机器上面,对客户端来讲是无差别的。然后,通过不同机器上面的Redis控制台,我们还是可以看出数据的存储情况。
4. 优缺点:使用Sharding机制,克服了单台服务器的“内存限制”,但是不可避免的降低了数据的存储和访问效率。
<二>. 进行配置:
1. 增加节点:去掉之前的主从配置,作为用作Sharding的一台服务器,增加属性设置
redis.host2=192.168.142.34
2. 连接池配置:使用shardedJedisPool
<bean id = "shardedJedisPool" class = "redis.clients.jedis.ShardedJedisPool"> <constructor-arg index="0" ref="jedisPoolConfig"/> <constructor-arg index="1"> <list> <bean class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="${redis.host}"/> <constructor-arg index="1" value="${redis.port}" type="int"/> <constructor-arg index="2" value="${redis.timeout}" type="int"/> <property name="password" value="${redis.password}"/> </bean> <bean class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="${redis.host2}"/> <constructor-arg index="1" value="${redis.port}" type="int"/> <constructor-arg index="2" value="${redis.timeout}" type="int"/> <property name="password" value="${redis.password}"/> </bean> </list> </constructor-arg> </bean>
<三>. 使用API编程:
1. 获取shardedJedis:
ShardedJedisPool shardedPool = (ShardedJedisPool)context.getBean("shardedJedisPool"); ShardedJedis shardedJedis = shardedPool.getResource(); ... shardedPool.returnResource(shardedJedis);
2. 存储/访问/删除数据:
shardedJedis.set("president", "Obama"); String president = shardedJedis.get("president"); shardedJedis.del("president");
相关推荐
redis实现分布式锁(java/jedis),其中包含工具方法以及使用demo 本资源是利用java的jedis实现 redis实现分布式锁(java/jedis),其中包含工具方法以及使用demo 本资源是利用java的jedis实现
Redis Windows32位+64位安装包,Linux压缩包, Redis图形操作管理软件,Jedis
基于北京尚硅谷周阳老师讲解的redis。个人学习总结: 包含redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用。
spring_redis集成,通过jedis作为redis的客户端。 只提供集成方式,具体api,参照jedis API
(window)Redis安装包,Redis桌面Manager,Jedis驱动包
java redis使用之利用jedis实现redis消息队列.docx
Redis支持很多编程语言的客户端,有C、C#、C++、Clojure、Common Lisp、Erlang、Go、Lua、...Redis官方列出的Java客户端也有少,有Jedis、JRedis、JDBC-Redis、RJC等,当然,Jedis是Redis官方首选的Java客户端开发包。
jedis:Redis的Java客户端
jedis客户端两个包:jedis2.7.2.jar+commons-pool2-2.0.jar,已亲测可用
Redis高可用集群Java(jedis客户端)操作源码
《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、...
《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久...
NULL 博文链接:https://ihenu.iteye.com/blog/2267881
在Springboot中已经有实现好的jar包可以很方便的集成Redis,也可以自己来封装Jedis实现Redis,这里我们使用Jedis来封装,从而使我们的程序更具有灵活性 首先,我们需要安装Redis: redis下载 安装完成之后在控制台输入...
Redis 入门指南.pdf
spring-data-redis-2.1.5.RELEASE和jedis2.9.0,用于java使用redis开发。
Redis的官方推荐Java客户端——Jedis 此Jar包为Jedis 2.9.0版(2016年7月22日发布) 支持Redis 3.0 (亲测有效) 使用方法: import redis.clients.jedis.Jedis; Jedis jedis = new Jedis("localhost"); jedis.set...
《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久...
《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、...