怎么在springboot项目中内嵌redis

本篇文章给大家分享的是有关怎么在spring boot项目中内嵌redis,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联公司主营云浮网站建设的网络公司,主营网站建设方案,重庆APP开发公司,云浮h5重庆小程序开发搭建,云浮网站营销推广欢迎云浮等地区企业咨询

redis介绍

Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。

使用方法如下:

添加包引用build.gradle

 testCompile(
   'com.github.kstyrc:embedded-redis:0.6'
 )

添加配置注入

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.HashOperations;import org.springframework.data.redis.core.ListOperations;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.SetOperations;import org.springframework.data.redis.core.ValueOperations;import org.springframework.data.redis.core.ZSetOperations;import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
 /**
 * 注入 RedisConnectionFactory
 */
 @Autowired
 RedisConnectionFactory redisConnectionFactory;

 /**
 * 实例化 RedisTemplate 对象
 *
 * @return
 */
 @Bean
 public RedisTemplate functionDomainRedisTemplate() {
 RedisTemplate redisTemplate = new RedisTemplate<>();
 initDomainRedisTemplate(redisTemplate, redisConnectionFactory);
 return redisTemplate;
 }

 /**
 * 设置数据存入 redis 的序列化方式
 *
 * @param redisTemplate
 * @param factory
 */
 private void initDomainRedisTemplate(RedisTemplate redisTemplate, RedisConnectionFactory factory) {
 redisTemplate.setKeySerializer(new StringRedisSerializer());
 redisTemplate.setHashKeySerializer(new StringRedisSerializer());
 redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
 redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
 redisTemplate.setConnectionFactory(factory);
 }

 /**
 * 实例化 HashOperations 对象,可以使用 Hash 类型操作
 *
 * @param redisTemplate
 * @return
 */
 @Bean
 public HashOperations hashOperations(RedisTemplate redisTemplate) {
 return redisTemplate.opsForHash();
 }

 /**
 * 实例化 ValueOperations 对象,可以使用 String 操作
 *
 * @param redisTemplate
 * @return
 */
 @Bean
 public ValueOperations valueOperations(RedisTemplate redisTemplate) {
 return redisTemplate.opsForValue();
 }

 /**
 * 实例化 ListOperations 对象,可以使用 List 操作
 *
 * @param redisTemplate
 * @return
 */
 @Bean
 public ListOperations listOperations(RedisTemplate redisTemplate) {
 return redisTemplate.opsForList();
 }

 /**
 * 实例化 SetOperations 对象,可以使用 Set 操作
 *
 * @param redisTemplate
 * @return
 */
 @Bean
 public SetOperations setOperations(RedisTemplate redisTemplate) {
 return redisTemplate.opsForSet();
 }

 /**
 * 实例化 ZSetOperations 对象,可以使用 ZSet 操作
 *
 * @param redisTemplate
 * @return
 */
 @Bean
 public ZSetOperations zSetOperations(RedisTemplate redisTemplate) {
 return redisTemplate.opsForZSet();
 }
}

在业务层中使用redis

 @Autowired
 RedisTemplate redisCacheTemplate;

在使用过程中,我们的RedisTemplate对象已经被Autowired注入了。

以上就是怎么在spring boot项目中内嵌redis,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


本文名称:怎么在springboot项目中内嵌redis
本文地址:http://ybzwz.com/article/ijgdje.html