redis进行对比时有对应的key却还是返回false
没有配置相应的序列化规则,进行配置
package com.tow.leftMenu.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer;import java.time.Duration;@Configuration
public class RedisConfig {@Bean@SuppressWarnings("all")public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();template.setConnectionFactory(factory);Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper om = new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(om);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);// value序列化方式采用jacksontemplate.setValueSerializer(jackson2JsonRedisSerializer);// hash的value序列化方式采用jacksontemplate.setHashValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template;}//配置缓存 反参格式 前缀 过期时间@Beanpublic CacheManager cacheManager(LettuceConnectionFactory lettuceConnectionFactory){RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofHours(1L))//变双冒号为单冒号.computePrefixWith(name ->name.replace("::",":")).serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())).disableCachingNullValues();RedisCacheManager cacheManager = RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(lettuceConnectionFactory).cacheDefaults(config).transactionAware().build();return cacheManager;}
}
redis进行对比时有对应的key却还是返回false相关推荐
- 华为云企业级Redis评测第二期:大Key操作的影响
点击蓝字 关注我们 在前一篇文章<华为云企业级Redis评测第一期:稳定性与扩容表现> 中,我们使用多线程压测工具memtier_benchmark对华为GaussDB(for Redis ...
- 华为云GaussDB(for Redis)GaussDB(for Redis)全面对比Codis
华为云GaussDB(for Redis)全面对比Codis 一.Codis究竟有多火? 说Codis是国内最流行的自建Redis集群方案,一点也不为过.客户曾这样说: "Codis你不知道 ...
- 笔记【Redis数据结构、常用命令、key淘汰及持久化策略】
文章目录 简要介绍 服务安装 数据结构 通用命令 字符串类型命令 散列类型命令 列表类型命令 集合类型命令 有序集合类型命令 HyperLogLog命令 GeoHash命令(地图坐标) 排序命令 事务 ...
- 分布式内存数据库---Redis数据库之(键)key
Redis数据库之(键)key 前面讲了Redis存储的数据类型是key-value类型,Value可以是如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点 ...
- Redis分布式锁/Redis的setnx命令如何设置key的失效时间(同时操作setnx和expire)
Redis的setnx命令是当key不存在时设置key,但setnx不能同时完成expire设置失效时长,不能保证setnx和expire的原子性.我们可以使用set命令完成setnx和expire的 ...
- redis: WRONGTYPE Operation against a key holding the wrong kind of value
redis: WRONGTYPE Operation against a key holding the wrong kind of value 原因:因为redis中已经存在了相同的key 解决办法 ...
- Java redis 删除单个和多个key的方法
@AutowiredRedisTemplate<Object, Object> redisTemplate;/*** redis删除单个和多个key*/@Testpublic void t ...
- Redis删除一个比较大的Key会发生什么?
什么是Redis大Key 我认为可以从Space Complexity和Time complexity两个方向定义一个大Key. 1.Space Complexity,指的就是 ...
- java redis 数据自过期_Java架构-Redis的内存回收策略和Key过期策略,看这篇就够了...
Redis 作为当下最热门的 Key-Value 存储系统,在大大小小的系统中都扮演着重要的角色,不管是 session 存储还是热点数据的缓存,亦或是其他场景,我们都会使用到 Redis.在生产环境 ...
最新文章
- java打印整个向量_Java中Vector向量的用法
- android md 颜色,安卓MD(Material Design)规范
- 【Elasticsearch】Elasticsearch gateway 流程分析
- python用一行代码编写一个回声程序_Python源码分析2 - 一个简单的Python程序的执行...
- [leetcode]376. 摆动序列
- 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
- 在kubernetes上实现tomcat日志的持久化
- Py6S模块安装过程(Win10环境,64位)
- 2018年泰迪杯心得总结--最全的数学建模、数据挖掘的比赛入门
- 关于名为民间借贷实为诈骗案件的讨论
- matlab两个单引号是什么意思,两个单引号什么时候用
- 大数据时代的变革与顺势而为——读《大数据时代》
- 每日一题之动归-换钱的最少次数(二)
- spring的shema文件如何读取
- 8.ffplayer 原理、架构及代码分析——包队列 pktqueue
- 网上流传的手机日入百元的方法
- Java Maven项目文件红叉叉(The compiler compliance specified is 1.6 but a JRE 1.8 is used) java编译报错
- 计算机在多媒体技术中的应用研究,计算机技术在图形图像处理中的应用研究
- 关于AE渲染高清GIF图片的解决方案
- 【ConfluxNews】2023.3.10 「晒啦」钱包上线Conflux“.Web3用户名”交易功能