客户端几种连接方式
- Jedis
- JedisCluster
- RedisTemplate
4.StringRedisTemplate
1.jedis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
package com.tsj.redis;
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
Jedis jedis = null;
try {
//连接本地的 Redis 服务
jedis = new Jedis(RedisConstant.HOST, RedisConstant.PORT);
jedis.auth(RedisConstant.PASSWORD);
//查看服务是否运行
System.out.println("服务运行状态: " + jedis.ping());
} catch (Exception e) {
} finally {
if (jedis != null) {
jedis.close();
}
}
}
}
2.JedisCluster
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
package com.tsj.redis;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class JedisClusterTest {
public static void main(String[] args) {
JedisCluster cluster = null;
try {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(500);
config.setMinIdle(2);
config.setMaxIdle(500);
config.setMaxWaitMillis(10000);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort(RedisConstant.HOST, RedisConstant.PORT));
// nodes.add(new HostAndPort("xxxx", 6380));
// nodes.add(new HostAndPort("xxxx", 6381));
// nodes.add(new HostAndPort("xxxx", 6382));
cluster = new JedisCluster(nodes, 10000, 10000, 100, RedisConstant.PASSWORD, config);
//查看服务是否运行
cluster.setex("test00", 30,"0000");
System.out.println(cluster.get("test00"));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cluster != null) {
try {
cluster.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
3.RedisTempalte
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
package com.tsj.redis;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericToStringSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.util.concurrent.TimeUnit;
public class RedisTempalteTest {
public static void main(String[] args) {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName(RedisConstant.HOST);
jedisConnectionFactory.setPort(RedisConstant.PORT);
jedisConnectionFactory.setPassword(RedisConstant.PASSWORD);
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new GenericToStringSerializer<Object>(Object.class));
//初始化RedisTemplate
redisTemplate.afterPropertiesSet();
redisTemplate.opsForValue().set("test01", "0001", 30, TimeUnit.SECONDS);
System.out.println(redisTemplate.opsForValue().get("test01"));
}
}
4.StringRedisTemplate
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.8.8.RELEASE</version>
</dependency>
package com.tsj.redis;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
import java.util.concurrent.TimeUnit;
public class StringRedisTemplateTest {
public static void main(String[] args) {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName(RedisConstant.HOST);
jedisConnectionFactory.setPort(RedisConstant.PORT);
jedisConnectionFactory.setPassword(RedisConstant.PASSWORD);
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(jedisConnectionFactory);
//初始化stringRedisTemplate
stringRedisTemplate.afterPropertiesSet();
stringRedisTemplate.opsForValue().set("test02", "0002", 30, TimeUnit.SECONDS);
System.out.println(stringRedisTemplate.opsForValue().get("test02"));
}
}