SpringBoot集成Redis组件的使用

1、jar包引入

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

2、application.yml配置

spring:
  redis:
    database: "" #数据库
    host: "" #ip地址
    port: "" #端口号
    lettuce:
      pool:
        # 连接池最大连接数(使用负值表示没有限制) 默认8
        max-active: "}"
        # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
        max-wait: "}"
        # 连接池中的最大空闲连接 默认8
        max-idle: ""
        # 连接池中的最小空闲连接 默认0
        min-idle: ""

3、config配置

@ConditionalOnProperty(prefix = "", name = "", havingValue = "true", matchIfMissing = true)
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        // 配置连接工厂
        template.setConnectionFactory(connectionFactory);
        // 使用FastJsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式)
        template.setValueSerializer(new FastJsonRedisSerializer<>(Object.class));
        template.setKeySerializer(new StringRedisSerializer());
        // 设置hash key 和value序列化模式
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(new FastJsonRedisSerializer<>(Object.class));
        template.afterPropertiesSet();

        return template;
    }
}

 监听器配置:

@Configuration
public class RedisListenerConfig {

    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}

4、redisTemplate.opsForValue(),操作字符串

set(K key, V value) 新增一个字符串类型的值,key是键,value是值。
get(Object key) 获取key键对应的值
append(K key, String value) 在原有的值基础上新增字符串到末尾
get(K key, long start, long end) 截取key键对应值得字符串,从开始下标位置开始到结束下标的位置(包含结束下标)的字符串
getAndSet(K key, V value) 获取原来key键对应的值并重新赋新值
setBit(K key, long offset, boolean value) key键对应的值value对应的ascii码,在offset的位置(从左向右数)变为value
getBit(K key, long offset) 判断指定的位置ASCII码的bit位是否为1
size(K key) 获取指定字符串的长度
increment(K key, double delta) 以增量的方式将double值存储在变量中
increment(K key, long delta) 以增量的方式将long值存储在变量中
setIfAbsent(K key, V value) 如果键不存在则新增,存在则不改变已经有的值
set(K key, V value, long timeout, TimeUnit unit) 设置变量值的过期时间
set(K key, V value, long offset) 覆盖从指定位置开始的值
multiSet(Map<? extends K,? extends V> map) 设置map集合到redis
multiGet(Collection<K> keys) 根据集合取出对应的value值
multiSetIfAbsent(Map<? extends K,? extends V> map)

 

 

5、redisTemplate.opsForHash(),操作Hash对象

put(H key, HK hashKey, HV value)

新增hashMap值

values(H key)

获取指定变量中的hashMap值

entries(H key)

 获取变量中的键值对

get(H key, Object hashKey)

获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null

hasKey(H key, Object hashKey)

判断变量中是否有指定的map键

keys(H key)

 获取变量中的键

size(H key)

获取变量的长度

increment(H key, HK hashKey, double delta)

使变量中的键以double值的大小进行自增长

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值