下面就按照步骤来配置一个Spring Boot整合Redis的实现。
这个问题在使用Redis是个人认为是比较重要的一点,也是开发中比较容易忽略的一点
首先需要创建对应的Bean对象
public class User {private String name;private int age;private Date time;public User(String name, int age, Date time) {this.name = name;this.age = age;this.time = time;}public User() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Date getTime() {return time;}public void setTime(Date time) {this.time = time;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", time=" + time +'}';}
}
用于进行对于Readis的直接访问,类似于MVC模式中的DAO层
@Repository
public class UserRedis {@Autowiredprivate RedisTemplate<Object,User> redisTemplate;public void add(String key,User user){redisTemplate.opsForValue().set(key,user);}public User get(String key){return redisTemplate.opsForValue().get(key);}
}
这里需要注意的一个注解就是@Repository注解,这个是表示数据库访问测的注解
由于在进行插入数据,或者查询数据的时候,如果使用默认的配置,会出现在Readis中存储乱码的情况。所以在使用Redis的时候要根据具体的情况,使用自定义配置的方式进行配置,实现获取数据的正常显示。
@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<Object, User> redisTemplate(RedisConnectionFactory redisConnectionFactory) {//自定义实现对于RedisTemplate的配置RedisTemplate<Object, User> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory);//设置一JSON格式存储或者获取对象Jackson2JsonRedisSerializer<User> ser = new Jackson2JsonRedisSerializer<>(User.class);//为templeate设置默认的序列化方式template.setDefaultSerializer(ser);return template;}
}
这里需要说明的一点,往Redis中存储对象的时候要对对象进行序列化。这样才能将一个对象的数据结构存储到Redis的数据结构中。
使用Redis最主要的一个步骤就是进行Redis的配置。这里指定了服务器的地址和Redis的默认端口6379端口,同时配置了Redis的jedis池的参数。
spring.redis.host=192.168.70.134
spring.redis.port=6379
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.min-idle=0
spring.redis.jedis.pool.max-avtive=8
spring.redis.jedis.pool.max-wait=0ms
编写一个测试类来测试编写的代码的准确性,根据内容插入对象,然后获取对象。
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRedisTest {@AutowiredUserRedis userRedis;@Testpublic void setup(){User user = new User();user.setName("nihui");user.setAge(24);user.setTime(new Date());userRedis.add(this.getClass().getName(),user);System.out.println(userRedis.get(this.getClass().getName()));}
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态