安裝,基本命令 參照http://www.redis.net.cn/tutorial/3503.htmlhtml
一個概念: 非切片額客戶端,切片額客戶端java
相似客戶端負載均衡,切片是帶有負載均衡,鏈接池都同樣,切片能夠把多個鏈接池放一塊兒,redis
非切片:spring
/** * 初始化非切片池 */ private void initialPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); //控制一個pool最多有多少個狀態爲idle(空閒的)的jedis實例,默認值是8。 config.setMaxIdle(5); // 等待可用鏈接的最大時間,單位毫秒,默認值爲-1,表示永不超時。若是超過等待時間,則直接拋出JedisConnectionException; config.setMaxWaitMillis(10000); // 可用鏈接實例的最大數目,默認值爲8; // 若是賦值爲-1,則表示不限制;若是pool已經分配了maxActive個jedis實例,則此時pool的狀態爲exhausted(耗盡)。 config.setMaxTotal(10); //在borrow一個jedis實例時,是否提早進行validate操做;若是爲true,則獲得的jedis實例均是可用的; config.setTestOnBorrow(false); jedisPool = new JedisPool(config,"127.0.0.1",6379); }
切片:負載均衡
/** * 初始化切片池 */ private void initialShardedPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(5); config.setTestOnBorrow(false); // slave連接 List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); shards.add(new JedisShardInfo("127.0.0.1", 6379, "master")); // 構造池 shardedJedisPool = new ShardedJedisPool(config, shards); }
pom.xml.net
<!--redis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <!--spring redis--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.2.RELEASE</version> </dependency>
下面spring-data-redis是spring集成redis的jar。採用redisTemplate操做redis,code
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.maxTotal}" /> <property name="maxIdle" value="${redis.maxIdle}" /> <property name="minIdle" value="${redis.minIdle}" /> <property name="maxWaitMillis" value="${redis.maxWaitMillis}" /> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> </bean> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.ip}" /> <property name="port" value="${redis.port}" /> <property name="timeout" value="${redis.timeout}" /> <property name="poolConfig" ref="jedisPoolConfig" /> </bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory" /> </bean>
spring-data-redis版本不對會報redisTemplatexml