草庐IT

memory_cache

全部标签

caching - 何时在 GraphQL 服务器设置中使用 Redis 以及何时使用 DataLoader

我已经在GraphQL服务器上工作了一段时间,虽然我了解大部分方面,但我似乎无法掌握缓存。当谈到缓存时,我看到DataLoader和Redis都被提及,但我不清楚何时应该使用什么以及如何使用它们。我认为DataLoader更多的是在字段级别使用来应对n+1问题?我猜Redis是不是处于更高的水平?如果有人能阐明这一点,我将不胜感激。谢谢。 最佳答案 DataLoader主要是一种对某些数据源进行批处理请求的方法。但是,它可以根据每个请求选择性地使用缓存。这意味着,在执行相同的GraphQL查询时,您只会获取特定实体一次。例如,我们可

memory - Redis 哈希结构并没有像描述的那样提高内存效率

我的redis版本是redis-version3.2.9,修改redis.conf,hash-max-ziplist-entries256hash-max-ziplist-value4096然而,结果不播放正如内存优化中描述的(redishash结构可以使内存更高效),同样,容量评估也让我感到困惑,我将在下面显示我得到的结果如上图,redisstringkey-value:第一张图显示3085和4086使用相同的内存。第二张图片显示4096使用更多内存(每个键约1024字节),而不是每个键4096。杰马鲁克希望有人能帮帮我,谢谢 最佳答案

caching - 从 Twitter Streaming API 和 RESTful API 获取的数据是否需要缓存?

1.我正在使用TwitterStreamingAPI获取一些带有特定主题标签的推文。我想从每条推文中提取一些元数据,并使用它们来更新一些本地数据结构。有时很多推文会在短时间内出现在我的电脑上。我不确定处理速度是否比推文流的速度快。我想保证所有的推文都能被成功接收,并且每条推文都可以进行。所以我想问一下我是否必须添加一些结构来缓存我收到的推文?如果是,你能给结构或工具的建议吗?缓冲区、线程池或一些缓存软件,如memecached或redis?2.我还想使用Twitter搜索API,这是一个RESTfulapi,来获取一些推文。我会在一次查询中得到100条推文。在这种情况下是否有必要缓存推

javascript - 使用 node.js 进行长轮询并表达 : how to cache res object into redis or other cache framework

我尝试在服务器端使用node.js/express/redis构建一个聊天室网页。遵循这段代码:AMessageWallWithLongPollPropertiesinNode.JSandExpress,我成功让一台Node服务器正常运行。在这个例子中,res对象被保存在一个列表中,不需要任何转换。但是我想用pm2集群模式(-i4)运行Node应用程序,所以我必须将res对象保存到某个在4个Node之间共享的地方。我已经在我的Node项目中为express.session使用了redis。所以我想把res缓存到redis中。但问题出现了:当我尝试用JSON.stringify(res)

caching - Redis 搜索等于某个值的匹配键

好的,在REDIS中,如果我只是想设置keys=achannelname和value=付费或免费...所以最终我会得到一个包含100、1000等键和值的列表,其中key的值(value)将被支付或免费。channelName,paidorfree所以,那我想来找找并要求数据库给我所有值(value)=免费的channel设置它的最佳方式/有效方式是什么?我基本上想查询并返回等于列表或字典中特定值的所有键的列表... 最佳答案 您可以使用sortedsets,成员值为0(免费)或1(付费)。在单个键中,您可以存储有序集合的成员,并且每

caching - Redis 或 Hazelcast,或其他?

我最近使用了一个旧的网络应用程序。应用程序会在初始化时将大量对象保存到Ehcache中,然后从缓存中获取对象。而现在,对象又增加了很多倍。App中的Ehcache无法满足要求。所以,我们考虑使用分布式缓存。我们会设置一些策略,让对象保存在不同的缓存服务器中。Redis和Hazelcast都不错。问题是,Redis和Hazelcast相比之前的Ehcache,Redis和Hazelcast必须Serialize对象。可能会消耗更多时间。那么哪个更好呢?还是没有其他更好的选择?提前致谢。 最佳答案 您有什么要求?Hazelcast具有可

ruby-on-rails - 为什么 Travis 在部署到 Heroku 时无法连接使用 Redis cache_store?

我在我的Rails应用程序中使用Redis缓存:config.cache_store=:redis_store,redis_url当我将我的Rails应用程序直接推送到Heroku时,它已成功部署。使用Travis时,Heroku部署步骤失败,因为Assets预编译尝试连接到Redis。Running:rakeassets:precompilerakeaborted!ArgumentError:invalidurischeme''/tmp/build_7c5f167bf750cb2986dbb9c3510ea11e/vendor/bundle/ruby/2.1.0/gems/redis

caching - 使用 redis 缓存管理器、redisTemplate 和多个序列化器进行缓存

我需要缓存多种类型,例如:publicCountryfindCountry(StringcountryName)和:publicListfindAllDestinations(StringcountryName)我正在使用RedisCacheManager,而RedisTemplate只支持一个序列化程序。 最佳答案 经过一番研究,现在解决了。将spring-data-redis更改为1.4.2.RELEASE使用您的类扩展RedisCacheManager,将缓存映射到序列化程序(cacheName->serializer)并缓存

完蛋!我被 Out of Memory 包围了!

是极致魅惑、洒脱自由的Javaheapspace?是知性柔情、温婉大气的GCoverheadlimitexceeded?是纯真无邪、活泼可爱的Metaspace?如果以上不是你的菜,那还有……***蛮任性,无迹可寻的CodeCache!性感火辣、心思细腻的DirectMemory高贵冷艳,独爱你一人的OOMKiller!总有一款,能让你钟情!BUG选择权,现在交由你手!Javaheapspace这是最常见的一个OOM问题了,谁还没经历过一个HeapOOM呢?当堆内存被塞满之后,一边GC无法及时回收,一边又在继续创建新对象,Allocator无法分配新的内存之后,就会送一个OOM的错误:java

memory - Redis+Resque : Which maxmemory-policy for using redis with Resque?

将Resque与Redis结合使用我一直收到Redis的OOM命令在使用内存时不允许>'maxmemory'错误。现在很明显,我似乎应该将redis的内存从当前的500MB增加,但我想确保我也设置了正确的最大内存/数据驱逐策略,以便将redis与resque一起使用。目前它在volatile-lru上。(我一直在寻找这方面的文档,但找不到任何东西。)thisstackoverflowanswer以及来自redis的以下数据..keys=81824,expires=0,avg_ttl=0evicted_keys0expired_keys0...让我相信我配置错误,添加更多内存只会推迟问题