开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动
1、下载最新驱动包:https://mvnrepository.com/artifact/redis.clients/jedis;
jedis-2.9.0.jar;commons-pool2-2.4.2.jar;(Apache连接池)
2、将jar包放入lib中
3、import redis.clients.jedis.Jedis;
4、//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
一、使用jedis连接池连接redis
1、配置文件.properties
2、连接类
private static JedisPool pool;
//静态代码初始化池配置
static {
try{
Properties props = new Properties();
props.load(RedisTest.class.getClassLoader().getResourceAsStream(
"redis.properties"));
//创建jedis池配置实例
JedisPoolConfig config = new JedisPoolConfig();
//设置池配置项值
config.setMaxTotal(Integer.valueOf(props.getProperty("jedis.pool.maxActive")));
config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle")));
config.setMaxWaitMillis(Long.valueOf(props.getProperty("jedis.pool.maxWait")));
config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow")));
config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn")));
//根据配置实例化jedis池
pool = new JedisPool(config, props.getProperty("redis.ip"), Integer.valueOf(props.getProperty("redis.port")));
}catch (IOException e) {
e.printStackTrace();
}
}
/**获得jedis对象*/
public static Jedis getJedisObject(){
return pool.getResource();
}
/**归还jedis对象*/
public static void recycleJedisOjbect(Jedis jedis){
pool.returnResource(jedis);
}
3、实现类
Jedis jedis = getJedisObject();//获得jedis实例
//获取jedis实例后可以对redis服务进行一系列的操作
System.out.println(jedis.get("runoobkey"));
recycleJedisOjbect(jedis); //将 获取的jedis实例对象还回迟中
二、spring集成redis
1、下载spring-data-redis-***.RELEASE.jar spring-data-commons-***.RELEASE.jar 包 aopalliance-1.0 .jar
(版本不同将会导致不兼容问题,常常会出现NoSuchMethodError异常,我使用spring-data-redis-1.8.7.RELEASE.jar、spring-data-commons-1.8.4.RELEASE.jar,spring使用4.3.12)
下载地址:https://repo.spring.io
Artifact——libs-release-local——org——springframework——data——spring-data-redis
2、工作目录下创建配置文件redis.properties(配置见上图)
3、修改spring配置文件applicationContext.xml
classpath:redis.properties
5、使用
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:config/spring-dao.xml");
RedisTemplateUtil redisUtil=(RedisTemplateUtil) context.getBean("redisUtil");
redisUtil.set("age", "888");
System.out.println(redisUtil.get("age"));
三、redis哨兵配置
1、redis.properties文件新增
2、spring配置文件.xml修改