spring boot 集成 Redis

前提:你已经安装了Redis

1、创建一个spring boot 工程

2、pom 引入依赖:spring-boot-starter-data-redis

         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>    

3、在application.propertise 配置Redis相关参数

########################################################
###redis (redis)
########################################################
#开发
spring.redis.host=localhost
spring.redis.port= 6379
spring.redis.password=123456

spring.session.store-type=redis
spring.redis.database=1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle= 8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle= 0
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active= 8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait= -1
# 连接超时时间(毫秒)
spring.redis.timeout= 6000

4.创建Redis工厂

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
    @Value("${spring.redis.host}")
    private String host;

    @Value("${spring.redis.port}")
    private int port;

    @Value("${spring.redis.timeout}")
    private int timeout;

    @Value("${spring.redis.pool.max-idle}")
    private int maxIdle;

    @Value("${spring.redis.pool.max-wait}")
    private long maxWaitMillis;

    @Value("${spring.redis.password}")
    private String password;

    @Bean
    public JedisPool redisPoolFactory() {

        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(maxIdle);
        jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
        jedisPoolConfig.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
        JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password);

        return jedisPool;
    }

5、需要redis时,直接注入即可

@Autowired
    private RedisTemplate redisTemplate;

6. redisTemplate 使用,Redis可以操作五种数据类型(字符串(String)、哈希/散列/字典(Hash)、列表(List)、集合(Set)、有序集合(sorted set))

6.1 字符串(String)

保存

redisTemplate.opsForValue().set("key1","value1");
redisTemplate.opsForValue().set("key2","value2"); 

取值

String result1=redisTemplate.opsForValue().get("key1").toString();
String result2=redisTemplate.opsForValue().get("key2").toString(); 

6.2 哈希/散列/字典(Hash)

保存

Map<String,String> map=new HashMap<String,String>();
map.put("key1","1");
map.put("key2","2");
map.put("key3","3");
map.put("key4","4");
map.put("key5","5");
redisTemplate.opsForHash().putAll("hashMap",map);

取值

String value=(String)redisTemplate.opsForHash().get("hashMap","key1");          //结果是 1
Map<String,String> resultMap= redisTemplate.opsForHash().entries("hashMap");   //结果是 {key1=1, key2=2, key5=5, key3=3, key4=4}List<String>reslutMapList=redisTemplate.opsForHash().values("hashMap"); //结果是 取得所有value值[1,2,3,4,5] Set<String>resultMapSet=redisTemplate.opsForHash().keys("hashMap"); //结果是 取得key值 [key1, key2, key5, key3, key4] 

6.3 列表(List)

保存

List<Pays> requestJsonList = new Array<>();
 redisTemplate.opsForList().leftPush("key1", requestJsonList);  //将list集合放入Redis

取值

List<Pays> requestJsonList1 = (List<Pays>) redisTemplate.opsForList().leftPop("key1");

7.总结操作

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

原文地址:https://www.cnblogs.com/XiDaPuBen/p/10309225.html

时间: 2024-10-03 20:41:56

spring boot 集成 Redis的相关文章

Spring Boot 2.X(六):Spring Boot 集成 Redis

Redis 简介 什么是 Redis Redis 是目前使用的非常广泛的免费开源内存数据库,是一个高性能的 key-value 数据库. Redis 与其他 key-value 缓存(如 Memcached )相比有以下三个特点: 1.Redis 支持数据的持久化,它可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. 2.Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储. 3.Redis 支持数据的备份

【spring boot】【redis】spring boot 集成redis的发布订阅机制

一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送给对自己感兴趣的 消息订阅者们,进行消费. 2.redis的发布订阅和专业的MQ相比较 1>redis的发布订阅只是最基本的功能,不支持持久化,消息发布者将消息发送给频道.如果没有订阅者消费,消息就丢失了. 2>在消息发布过程中,如果客户端和服务器连接超时,MQ会有重试机制,事务回滚等.但是Red

spring boot 集成 redis lettuce(jedis)

spring boot框架中已经集成了redis,在1.x.x的版本时默认使用的jedis客户端,现在是2.x.x版本默认使用的lettuce客户端 引入依赖 <!-- spring boot redis 缓存引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactI

spring boot集成redis缓存

spring boot项目中使用redis作为缓存. 先创建spring boot的maven工程,在pom.xml中添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.3.RELEASE</version> </depen

Spring boot集成Redis(1)—进行增加,更新,查询,批量删除等操作

前言:最近工作中使用到了redis缓存,故分享一点自己总结的东西,这篇文章使用的是StringRedisTemplate进行学习,这里值的说的是,(1)StringRedisTemplate在进行批量删除操作时我们需对template进行序列化,(2)更新操作与添加操作一样,接下来上代码:1.建立Spring boot项目,引入Redis依赖(pom.xml如下): <?xml version="1.0" encoding="UTF-8"?> <p

Spring boot集成Redis(2)—RedisTemplate的使用来存储Map集合

前言:上一篇文章我们用的是StringRedisTemplate,但是它存在一点问题,也迫使我重新写了代码,问题是:在我们往缓存中存入数字形式的String类型时,我们在利用Spring could将获取到的数据发送到另一服务时,我们发现数据已经被强转为Integer类型了,因为我们可能传输的数据庞大,类型多样,为了统一类型,以及开发方便,所以我将缓存改成RedisTemplate这种类型,进行增删改查的操作,文中没有特别举例更新操作,其更新操作与添加操作一样,当key一样时进行添加就会覆盖原v

spring boot集成redis

package com.qmtt.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.connection.Messa

Spring Boot集成redis完整实例

添加依赖: (Spring Data Redis) 启动redis: 配置文件中进行配置: redis基本使用思路: redis中不存在就查询数据库然后存入redis: 查看日志: 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10850025.html

Spring Boot学习笔记——Spring Boot与Redis的集成

一.添加Redis缓存 1.添加Redis起步依赖 在pom.xml中添加Spring Boot支持Redis的依赖配置,具体如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.4.7.RELEASE</version> </