jjzjj

redis - 如何让Redis只对部分key选择LRU驱逐策略?

有没有办法让Redis只为特定的键选择LRU(最近最少使用)驱逐策略?我希望一组key是持久的,并且在没有足够内存的情况下永远不会被驱逐。另一方面,如果内存不足,我希望可以自由驱逐另一组key。 最佳答案 Redis有一个驱逐政策,这可能对你的情况有好处。您可以将maxmemory-policy设置为volatile-lru,这会导致Redis:removethekeywithanexpiresetusinganLRUalgorithm这意味着未设置TTL的键不是易变的,因此不会被逐出,但具有TTL的键将按最近最少使用的顺序删除。实

redis - 如何让Redis只对部分key选择LRU驱逐策略?

有没有办法让Redis只为特定的键选择LRU(最近最少使用)驱逐策略?我希望一组key是持久的,并且在没有足够内存的情况下永远不会被驱逐。另一方面,如果内存不足,我希望可以自由驱逐另一组key。 最佳答案 Redis有一个驱逐政策,这可能对你的情况有好处。您可以将maxmemory-policy设置为volatile-lru,这会导致Redis:removethekeywithanexpiresetusinganLRUalgorithm这意味着未设置TTL的键不是易变的,因此不会被逐出,但具有TTL的键将按最近最少使用的顺序删除。实

spring - 如何在 Amazon AWS Elasticache Redis + Spring Data 上配置驱逐(生存时间)

我正在开发一个项目,我们在其中使用SpringDataCache抽象和AWSElasticacheRedis,我想知道如何配置缓存中对象的逐出时间。关于如何使用ElasticacheRedis配置SpringDataCacheAbstraction的官方文档并不多。我们在这里找到了一些有用的信息:http://blog.joshuawhite.com/java/caching-with-spring-data-redis/但是没有关于配置缓存对象的逐出时间或生存时间的内容。有帮助吗? 最佳答案 您可以通过在RedisCacheMan

spring - 如何在 Amazon AWS Elasticache Redis + Spring Data 上配置驱逐(生存时间)

我正在开发一个项目,我们在其中使用SpringDataCache抽象和AWSElasticacheRedis,我想知道如何配置缓存中对象的逐出时间。关于如何使用ElasticacheRedis配置SpringDataCacheAbstraction的官方文档并不多。我们在这里找到了一些有用的信息:http://blog.joshuawhite.com/java/caching-with-spring-data-redis/但是没有关于配置缓存对象的逐出时间或生存时间的内容。有帮助吗? 最佳答案 您可以通过在RedisCacheMan

caching - Redis 在填满和逐出键时有多慢? (LRU算法)

我在Java应用程序中使用Redis,我正在读取日志文件,在Redis中为每个日志存储/检索一些信息。key是我的日志文件中的IP地址,这意味着它们始终是即将到来的新闻key,即使它们经常出现也是如此。在某个时候,Redis达到了它的最大内存大小(在我的例子中是3gb),并开始驱逐一些键。我使用“allkeys-lru”设置,因为我想保留最年轻的key。然后整个应用程序变慢了很多,花费的时间是开始时的5倍。所以我有三个问题:出现如此剧烈的减速(长5倍)是否正常?有人经历过这种放缓吗?如果不是,我的代码中可能有另一个问题(不太可能,因为减速恰好在Redis达到其极限时出现)我可以改进我的

caching - Redis 在填满和逐出键时有多慢? (LRU算法)

我在Java应用程序中使用Redis,我正在读取日志文件,在Redis中为每个日志存储/检索一些信息。key是我的日志文件中的IP地址,这意味着它们始终是即将到来的新闻key,即使它们经常出现也是如此。在某个时候,Redis达到了它的最大内存大小(在我的例子中是3gb),并开始驱逐一些键。我使用“allkeys-lru”设置,因为我想保留最年轻的key。然后整个应用程序变慢了很多,花费的时间是开始时的5倍。所以我有三个问题:出现如此剧烈的减速(长5倍)是否正常?有人经历过这种放缓吗?如果不是,我的代码中可能有另一个问题(不太可能,因为减速恰好在Redis达到其极限时出现)我可以改进我的

go - 基于内存消耗的自动缓存逐出

我想实现一个高效的LRU缓存,它可以根据可用内存自动逐出项目。现在只有两件事浮现在脑海中:投票gosigar或设置一个固定的最大值并定期检查runtime.ReadMemStats。还有其他方法吗?memcached是如何做到的? 最佳答案 我实现了它每1秒轮询一次系统内存统计信息。参见:https://github.com/eaigner/last在Linux上读取内存统计信息:import("syscall")funcReadSysMemStats(s*MemStats)error{ifs==nil{returnnil}vari

go - 基于内存消耗的自动缓存逐出

我想实现一个高效的LRU缓存,它可以根据可用内存自动逐出项目。现在只有两件事浮现在脑海中:投票gosigar或设置一个固定的最大值并定期检查runtime.ReadMemStats。还有其他方法吗?memcached是如何做到的? 最佳答案 我实现了它每1秒轮询一次系统内存统计信息。参见:https://github.com/eaigner/last在Linux上读取内存统计信息:import("syscall")funcReadSysMemStats(s*MemStats)error{ifs==nil{returnnil}vari

redis - 在 redis 中,列表是如何被逐出处理的?

我面临的问题是我想确保列表被完整地逐出。IE。确保列表中的条目没有被单独驱逐。我们希望使用LRU逐出算法。我意识到一个列表是通过它的键知道的,所以当一个列表被逐出时最有可能发生的是它会通过它的键逐出整个列表。是否有任何我可以阅读的文档或证据来确保情况确实如此,或者这是否不言自明以至于没有必要指出? 最佳答案 正如TwBert所说,它的行为方式与哈希和集合相同,始终在键上。基本回答于:howtoexpireakeyofamapinREDIS? 关于redis-在redis中,列表是如何被逐

redis - 使用 volatile-ttl 的奇怪 key 逐出行为

我的用例不完全是缓存。我的场景是一个后台数据分析服务,需要跟踪一些数据组的统计信息,很明显,RAM永远不会足够保存所有组的统计信息,但我们希望保留尽可能多的数据。因此,随着key的每次n更新,我更新TTL的方式使代表更频繁数据组的key获得更高的TTL。目的是始终保留最频繁出现的键,只有不那么频繁/不太重要的键才会被删除。这是我目前正在做的事情:maxmemory设置为安全值(约40%的RAM,因为快照和碎片)maxmemory-policyvolatile-ttlmaxmemory-samples100(我接受一点时间延迟,以确保我不会丢失一个重要的key,因为碰巧只比较了一小部分重