springboot整合redis

7 篇文章 0 订阅
5 篇文章 0 订阅

1,引入依赖

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

2,代码测试1----StringRedistemplate

	@Autowired
    private StringRedisTemplate stringRedisTemplate;
    @Test
    void contextLoads() {
    //ValueOperations--操作的类型为String
        ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
        ops.set("k1","高");
        ops.set("k2","高2");
        ops.set("k3","高3");
        System.out.println(ops.get("k1"));
        //判断k1是否存在,存在的话返回false,不存在的话给赋了值,返回true
        Boolean aBoolean = ops.setIfAbsent("k1", "enen");
        System.out.println(aBoolean);

	//HashOperations--操作hash类型
		HashOperations<String, Object, Object> hash = stringRedisTemplate.opsForHash();
        hash.put("k4","name","高");
        hash.put("k4","age","18");
        Object o=hash.get("k4","name");
        System.out.println(o);
        System.out.println(hash.keys("k4"));
        System.out.println(hash.values("k4"));
        System.out.println(hash.entries("k4"));
        }
ValueOperations运行结果为:
						高
						false

HashOperations运行结果为:
						高
						[name, age]
						[, 18]
						{name=, age=18}

3,代码测试2—RedisTemplate
RedisTemplate它的key和value可以存放Object类型,那么它的key和value默认采用的序列化方式为JDK序列化方式。一般我们需要
为key和value指定序列化方式。

//key的序列化
redisTemplate.setKeySerializer(new StringRedisSerializer()); 
//value的序列化
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); 
//hash key的序列化
redisTemplate.setHashKeySerializer(new StringRedisSerializer()); 
//hash value的序列化
redisTemplate.setHashValueSerializer(new StringRedisSerializer());

实体

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    String name;
    Integer age;
    String address;
}

测试字符串类型

@Autowired
    private RedisTemplate redisTemplate;
    @Test
    void contextLoads() {
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        ValueOperations valueOperations = redisTemplate.opsForValue();
        valueOperations.set("k1",new User("高",18,"郑州"));
        Object k1 = valueOperations.get("k1");
        System.out.println(k1);
    }

测试hash类型

@Test
    void contextHash(){
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.put("u","n","高");
        hashOperations.put("u","a","16");
        Object o = hashOperations.get("u", "n");
        System.out.println(o);
        Object o1 = hashOperations.get("u", "a");
        System.out.println(o1);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值