草庐IT

database-caching

全部标签

caching - Redis 缓存使用 volitile-lru 抛出 OOM 错误

为了调试,我们将Redis设置为volitile-lru和10mb的最大内存我们在电子商务商店中使用Redis进行HTTP缓存-当页面上有并行请求时,错误:OOMcommandnotallowedwhenusedmemory>'maxmemory'出现。难道不应该通过将maxmemory-policy设置为volitile-lru来避免这种情况吗?redis是否不够快,无法释放内存并设置新内存(每个请求大约有200-600kb) 最佳答案 来自文档:volatile-lru:通过首先尝试移除最近较少使用的(LRU)键来逐出键,但仅在

caching - Redis线程和访问问题

a)Redis是单线程的,在并发访问量大的时候性能好吗?b)目前正在分析缓存的Redis、Memcached、Ehcache、Hazelcast。我想我们应该能够将它们中的任何一个与在WAS8.5.5或WAS7.0应用程序服务器中运行的java进程集成,以防我们决定使用一个..想法?? 最佳答案 我对a)的回答:即使是单线程,Redis的吞吐量也非常高。单线程设计使其非常稳定和高效。您可以通过设置具有更多Redis实例的集群来处理更多并发访问。b):Redis和Memcached都有java的客户端库。我不确定其他缓存。

database-design - Redis schema设计——传感器数据流的滑动窗口如何存储?

这是我的第一个传感器数据流模式设计,其N-past读数应该可以从Redis客户端查询(何时将数据客户端保存在循环缓冲区中而不是查询?由于某些传感器每周频率为100Hz,其他传感器每周频率为1x,因此客户端不是慢速传感器的选项,使用本地/远程混合设计可能会带来复杂性?基本上可以归结为大量序列化或大量查询,这是我在初稿中注意到的两种模式:它从一个排序集开始,以按时间戳快速筛选,然后该值是一个字符串化对象(例如5x属性id/temp/humid..)或将对象放入由唯一值引用的外部哈希集中以检索哈希集在第二个查询中。左侧选项一中的工作流会生成大的反序列化对象,但会生成一个查询,而后者会生成大量

caching - 我应该使用 Redis 来缓存查询的响应吗?

我在ParseServer(Ubuntu)上有一个社交应用程序,我需要在服务器端缓存用户的内容,例如他们的主要提要和聊天,以加快速度。Redis适合那种缓存吗?如果没有,您会推荐什么?另外,我在考虑一种方法来最小化我的数据库读取,我想到了一个最新缓存的想法,我将在新的帖子保存时使用triggers并在那里,我将刷新我的缓存。这是一个好的做法吗? 最佳答案 Redis绝对可以用来缓存东西。Twitter使用(或至少曾经使用过)Redis来缓存时间线。Thisblogpost可以让您更深入地了解他们如何使用它。关于为什么选择Redis的

caching - redis 是否在达到最大内存限制时驱逐键或子键?

在达到内存限制时,redis会逐出键或子键(在映射的情况下)吗? 最佳答案 默认情况下,没有。您需要在redis.conf文件中指定逐出策略。这里有一些关于redis驱逐的有用信息:https://redis.io/topics/lru-cache 关于caching-redis是否在达到最大内存限制时驱逐键或子键?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/52212788

redis - 广告站点的消息队列、Kafka、事件系统为 "database"?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我正在与一位friend研究使用事件队列/流系统(例如kafka或rabbitmq)作为将广告存储在队列而不是传统数据库中的方法。所需的系统需要提供包含各种字段的事件流,可过滤和搜索。允许流无限期或特定时间(例如让广告过期)保留事件。我们只是不确定是否要采用消息队列/事件流,或者传统数据库是否可行。有没有人有这方面的经验,您会建议调查一个系统而不是另一个系统吗?

caching - Redis StackExchange 存储 500k 类

我试图用Redis代替现有的缓存系统,该系统主要由Dictionary组成.我有大约500k个对象并且正在使用MsgPackObjectSerializer。我在尝试检索整个数据集时遇到了性能问题。获取所有key需要几秒钟。varkeys=cacheClient.SearchKeys("ID:*").ToList();并以这种方式使用GetAll方法:cacheClient.GetAll(keys).Values;即使配置如下也会导致超时:varconfigOptions=newConfigurationOptions();configOptions.EndPoints.Add("lo

database - laravel 5.6 中的 Redis 数据库缓存

我想缓存我的查询结果,我在laravel中阅读了有关Cache::remember的内容,但它需要一个时间参数,我不想为我的redis缓存设置时间。我需要一些东西来缓存我的查询,并且在查询更新后结果因更新而改变。你有什么建议? 最佳答案 在Redis中存储Eloquent模型的完整集合可能比预期的要慢。在我的例子中,我必须创建包含大量where的嵌套选择,count,join,groupby和orderby……等它每次请求都消耗了大量资源,所以我尝试缓存结果。这不是最好的解决方案,因为它比我想要的慢(4倍)(200+毫秒响应)。解决

python - Redis模式: how would you cache free/occupied ressource with expiration?

这是我这周正在处理的问题,但我有点碰壁了。假设我有100个资源可用于完成一些快速任务。我想为客户做的,尽可能快:获取第一个可用资源将其标记为已占用使用它将其标记为免费。对于这种东西,我觉得使用sortedset是最好的。但是因为我的客户端不是很安全并且有时会在它运行的代码中间失败我真的想在我将资源标记为已占用时设置过期时间这样资源就不能永远处于占用状态。这听起来像是一个非常普遍的问题,我敢肯定有很多关于如何使用Redis修复它的文献,但我找不到任何文献。我发现了很多“维护全局排行榜”这类问题的模式和示例,但这些示例中没有一个涉及key过期。我目前有这样的解决方案:forressourc

database - 从redis中的多键排序集中查询数据

我有几个存储在redis中的排序集。喜欢:ZADD标签:1112233445566ZADD标签:2211222233244255266ZADD标签:3311322333344355366这是我的问题:我想按tag:1和tag:2,或tag:1和tag:3,或tag:1、tag:2和tag:3中的分数排序数据。这意味着我需要从不同的组合键获取数据([1][2][3][1,2,3][1,2][2,3][...])。我有数百个这种排序集,每个排序集都可以组合到任何一个/两个/多个其他集。我有点不选择ZUNIONSTORE,因为所有的组合都是临时的,ZUNIONSTORE会创建另一个新的排序集