草庐IT

banner_data

全部标签

java - 考虑重新访问上面的条目或在您的配置中定义类型为 'org.springframework.data.redis.core.RedisTemplate' 的 bean

我在开发SpringBoot+SpringDataRedis示例时遇到以下错误。在此示例中,我希望实现contains方法,根据spring文档和链接,这是不可能的:Causedby:java.lang.IllegalArgumentException:CONTAINING(1):[IsContaining,Containing,Contains]isnotsupportedforredisqueryderivation-Redis它将根据匹配的详细信息提取数据。***************************APPLICATIONFAILEDTOSTART***********

data-structures - Redis - 一个一个地插入字符串并一次全部删除的数据结构

我是Redis的新手,发现Redis支持多种数据结构,我们可以根据需要选择其中的任何一种。我的要求是将字符串一个一个地插入到列表(key-list)中,并希望一次检索(和删除)所有字符串。而且我也想经常这样做,所以试图找到一种最佳方式。哪种数据结构/方式对此更好?提前谢谢你P.S:我不想在检索的时候去掉key,我只需要检索并清空列表即可。 最佳答案 听起来你应该使用List.使用LPUSH添加到列表中或RPUSH,然后使用LRANGE检索所有内容和DEL关键。附言Redis中的key,比如存放List的key,不能为空。删除列表的所

data-structures - 在redis中驱逐 HashMap 中的键

我在Redis中有一个不断增长的巨大hashmap。每天大约50k,在接下来的几天里,这个数字会越来越少,因为相同的键会重复。我想将这个hashmap限制为100万个键值对。我想基于LRU来做这个。我知道我可以使用Redis的排序集以时间戳作为值并删除不在范围内的条目来执行此操作,但我需要保留键值对结构,当我移动到排序集时我将丢失键值结构,因为值将是时间戳,我需要在键中执行一些字符串操作以实现等效的哈希功能(不可行)。所以我的要求是:键值对结构根据给定键获取值或多个键用100万对修剪结构lru政策。我可以用hash实现吗?我也愿意接受其他建议吗?提前致谢 最

redis - Spring Data 对 Redis BRPOPLPUSH 的支持

我正在使用Jedis通过SpringData访问Redis。想要执行BRPOPLPUSH,我没有在下看到这个选项OPTION_1->getRedisTemplate().boundListOps("Key").*OPTION_2->getRedisTemplate().opsForList().rightPopAndLeftPush("sourceKey","destinationKey")--->Noblocking?相反,它位于,OPTION_3->getRedisTemplate().getConnectionFactory().getConnection().bRPopLPus

java - spring-data-redis:在一个事务中,get操作会返回null

在使用redis(4.0)和spring-data-redis进行项目时。似乎在事务中,get操作在java程序中会返回null。例如HashOperation的get()方法在multi()和exec().但是如果把get()放在multi()之前,就可以获取到值。那么,这是为什么? 最佳答案 经过测试和思考,我认为这是合理的行为,因为事务是作为原子操作在redis中执行的,不可能通过网络将事务中间的值返回给客户端,因此null是合理的。在交易执行后,exec()方法将所有值作为List返回。因此,在调试时,在事务中间,该值应该为

redis - 带有 Spring Data Redis 2.0.3 的缓存管理器

目前,我通过将@Cachable与Ehcache一起使用来使用spring缓存。我即将使用SpringDataRedis2.0.3将Ehcache替换为Redis。我在网上看到的所有例子都是基于它的旧版本,但新版本的构造函数格式不同。这是我当前的cacheManagerconf:基于旧版本使用Redis的例子是:新版本中的构造函数与旧版本完全不同,新版本的所有示例都将所有内容手动放入缓存中,如下所示:redisTemplate.opsForHash().put(user.getObjectKey(),user.getKey(),user);我仍然想使用cacheManager和@cac

java - 没有 Sentinel 连接,Spring Boot 和 Spring Data Redis 无法启动

这是我的第一个问题,如果我的问题表达方式还需要改进,请原谅我我目前正在开发一个SpringBootWeb应用程序,它使用Redis作为缓存来防止对外部API的过度调用。从这个意义上说,Spring实际上很好,但不是必需的。项目结构如下1.)包含DAO类的持久化模块编译spring-data-redis项目并使用带有@Autowired注解的RedisTemplate示例RedisDao类(由于私有(private)代码原因,我没有使用确切的实现):@AutowiredprivateRedisTemplateredisTemplatepublicAuthInfoDtocreateAuth

redis - Spring data redis 在反序列化 List 类型时返回 null

我正在使用springdataredis,我的一个实体有如下列表。@RedisHash("person")@Data@BuilderpublicclassPersonimplementsSerializable{@IdprivateStringname;privateListaddressList;}publicclassAddressimplementsSerializable{privateStringpostCode;privateStringcountry;}序列化工作正常,地址存储为HGETALLperson:123456"name""blabla""address[0].p

java - 错误 : Ambiguous handler methods mapped for HTTP path in spring data rest

这是代码:@Import(Appconfig.class)@RestController//@RequestMapping("/api/destination/find")publicclassRestApi01_Controller{@AutowiredpublicCountryRepoCountry_Repository;@AutowiredpublicCityRepoCity_Repository;@AutowiredpublicAirportRepoAirport_Repository;@AutowiredpublicResortRepoResort_Repository;@R

spring - MongoRepository 对比两列+Spring Data

我想使用mongorepository+spring数据(HQL或标准查询)执行比较两列值的查询。我正在向您展示关系查询,我想转换为mongo。Select*fromEmployeeemwhereem.limit我想使用Spring数据将上述查询转换为HQL查询。 最佳答案 您可以使用$where来实现:db.employee.find({$where:"this.limit在此处查看文档:https://docs.mongodb.com/manual/reference/operator/query/where/