1、redis存储大数据类型

String、hash、list、set、zset

//操作字符串
redisTemplate.opsForValue().set("key","value");
redisTemplate.opsForValue().get("key");

//操作hash
Map<String, String> maps = new HashMap();
maps.put("1","一");
maps.put("2","二");
maps.put("3","三");
maps.put("4","四");
redisTemplate.opsForHash().putAll("day", maps);
Map<String, String> maps = redisTemplate.opsForHash().entries("day");

//操作list
String[] strs = new String[]{"1","2","3"};
template.opsForList().leftPushAll("list",strs);
redisTemplate.opsForList().leftPush("list","4");;
template.opsForList().rightPush("list","5");

//操作set
String[] strs= new String[]{"1","2"};
redisTemplate.opsForSet().set("key",strs);
//移除集合中一个或多个成员
template.opsForSet().remove("key",strs)

//操作有序set
//新增一个有序集合,存在的话为false,不存在的话为true
template.opsForZSet().add("1","1",1.0)

redis设置过期时间

redisTemplate.opsForValue().set("key","value", 60 * 10, TimeUnit.SECONDS);
redisTemplate.opsForValue().set("key","value", 60 * 10, TimeUnit.SECONDS);

java存储redis,客户端查看乱码的问题解决。

在这里插入图片描述

其实不是乱码,RedisTemplate默认序列化方式用的是JdkSerializationRedisSerializer,将key序列化方式改成StringRedisSerializer,将value序列化方式改为Jackson2JsonRedisSerializer
将下面代码放到springboot的启动类下就可以了

@Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, Object> template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        jackson2JsonRedisSerializer.setObjectMapper(new ObjectMapper());
        RedisSerializer stringSerializer = new StringRedisSerializer();
        template.setKeySerializer(stringSerializer);
        template.setValueSerializer(jackson2JsonRedisSerializer);
        template.setHashKeySerializer(stringSerializer);
        template.setHashValueSerializer(jackson2JsonRedisSerializer);
        return template;

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐