springBoot 集成使用 redis

springBoot 集成使用 redis

一.概述

Jedis 是 Redis 官方推出的一款面向 Java 的客户端,提供了很多接口供 Java 语言调用。可以在 Redis 官网下载. Spring-data-redis 是 spring 大家族的一部分,提供了在 srping 应用中通 过简单的配置访问 redis 服务,对 reids 底层开发包(Jedis, JRedis, and RJC)进 行了高度封装,RedisTemplate 提供了 redis 各种操作

spring-data-redis 针对 jedis 提供了如下功能
  1. 连接池自动管理,提供了一个高度封装的“RedisTemplate”类.

  2. 针对 jedis 客户端中大量 api 进行了归类封装,将同一类型操作封装为 operation 接口

    ValueOperations:简单 K-V 操作
    SetOperations:set 类型数据操作
    ZSetOperations:zset 类型数据操作
    HashOperations:针对 map 类型的数据操作
    ListOperations:针对 list 类型的数据操
    

    3.将事务操作封装,有容器控制。

    4.针对数据的“序列化/反序列化”(对象转字符,字符转对象),提供了多种可选择策略(RedisSerializer) JdkSerializationRedisSerializer:POJO 对象的存取场景,使用 JDK 本身 序列化机制. StringRedisSerializer:Key 或者 value 为字符串的场景,根据指定的 charset 对数据的字节序列编码成 string,是“new String(bytes, charset)”和 “string.getBytes(charset)”的直接封装。是最轻量级和高效的策略。 JacksonJsonRedisSerializer:jackson-json 工具提供了 javabean 与 json 之 间的转换能力,可以将 pojo 实例序列化成 json 格式存储在 redis 中,也可以将 json 格式的数据转换成 pojo 实例

二.搭建

1.添加 redis 依赖

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

2.配置连接redis

spring:
	redis:
		host: 192.168.31.100
		port: 6379
		password: 111
		database: 0
		pool:
			max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
			max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
			max-idle: 8 # 连接池中的最大空闲连接
			min-idle: 0 # 连接池中的最小空闲连接
			timeout: 5000ms # 连接超时时间(毫秒)

3.注入RedisTemplate

@Autowired
RedisTemplate redisTemplate;

4.测试

//获得操作字符串数据结构的对象
redisTemplate.opsForValue();
redisTemplate.opsForValue().set("name", "aa");
redisTemplate.opsForValue().set("users", users,10*1000, TimeUnit.MILLISECONDS);
redisTemplate.hasKey("name");
redisTemplate.opsForValue().get("name");	
redisTemplate.delete("users");


//获得操作hash和list数据结构的对象
Hashoperations hashoperations = redisTemplate.opsForHash();
Listoperations listoperations = redisTemplate.opsForList();/	


//序列化键值
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<User>(User.class));
需要被 Redis 缓存的类,必须实现序列化接口
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值