您的位置:首页 > 数据库 > Redis

springboot整合redis

2019-05-27 21:05 246 查看

下面是对redis的整合!
具体解释在代码块旁边有注释!

package com.example.demo03.myConfig;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnection;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;

/*
* 完成对redis的一些配置
* */

@Configuration
public class RedisConfig {

/*
* 1.创建JedisPoolConfig,连接池对象,配置一些连接池属性.
* */
//配置连接池
@Bean
public JedisPoolConfig jedisPoolConfig(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(10);
jedisPoolConfig.setMinIdle(5);
jedisPoolConfig.setMaxTotal(20);
return  jedisPoolConfig;
}
/*
* 2.创建JedisConnectionFactory对象,配置redis信息
* */
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig){
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
//关联连接池的配置
jedisConnectionFactory.setPoolConfig(jedisPoolConfig);

//配置链接redis的信息
//配置redis的地址
jedisConnectionFactory.setHostName("10.18.32.112");
jedisConnectionFactory.setPort(6379);

return jedisConnectionFactory;
}

/*
* 3.配置JedisTemplate信息
* */
@Bean
public RedisTemplate<String,Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory){
RedisTemplate<String,Object> template = new RedisTemplate<>();
//关联redis
template.setConnectionFactory(jedisConnectionFactory);

//为key设置序列化
template.setKeySerializer(new StringRedisSerializer());

//为value设置序列化
template.setValueSerializer(new StringRedisSerializer());

return template;

}

}

测试类如下。
先存值,在取值

package com.example.demo03;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Demo03Application.class)
public class Demo03ApplicationTests {

@Autowired//注入redis模板
private RedisTemplate<String,Object> redisTemplate;

@Test//存值
public void testSet(){
this.redisTemplate.opsForValue().set("key","北京尚学堂");
}

@Test//取值
public  void testGet(){
String value = (String) redisTemplate.opsForValue().get("key");
System.out.println(value);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: