草庐IT

memory-pool

全部标签

memory - 如何获取Redis中列表的内存大小?

我在Redis中存储了一个非常大的字符串列表,我试图找出是否有命令(或任何其他方式)来获取该列表使用的内存。有什么建议吗?我查看了Rediscommands的列表找不到任何相关内容。 最佳答案 目前Redis不提供这种内省(introspection)内存能力。你现在最好的选择是DUMP列表然后RESTORE它到一个空的数据库。使用INFO恢复列表之前和之后目标数据库中的内存部分,并从后者中减去前者以获得大小估计。 关于memory-如何获取Redis中列表的内存大小?,我们在Stack

memory - Redis 如何在我的本地 Apache 服务器上保存数据,即使在重启和完全断电后也是如此?

据我所知,如果我正在运行本地apache开发服务器,Redis会使用我从中收集RAM的内存。我尝试关闭我的电脑并断开电源线,但是当我重新启动我的电脑并再次测试我的测试网站时,我本地服务器开发网站上的redis数据仍然存在。我认为当我重新启动系统时RAM数据会被完全删除,即使在我的本地开发环境中重新启动后,Redis如何保留数据?谢谢!:) 最佳答案 Redis仅提供RAM外的数据,但它提供两种持久化模式RDB(快照持久化)和AOF(变更日志持久化)。如果在您的Redis服务器上启用了任何一种持久性模式,那么您的数据将在重新启动之间持

memory - Redis 最佳哈希集条目大小

我对Redis哈希集的最佳条目大小设置有一些疑问。在本例中memory-optimization他们使用100个哈希条目每个key但使用hash-max-zipmap-entries256?为什么不hash-max-zipmap-entries100还是128?在redis网站(上面的链接)上,他们使用的最大哈希条目大小为100,但在这篇文章中instagram,他们提到了1000个条目。所以这是否意味着最佳设置是以下产品的函数hash-max-zipmap-entries&hash-max-zipmap-value?(即在这种情况下Instagram的哈希值比内存优化示例更小?)非常

java - 使用 Jedis Pool 时管道破裂

我正在使用Jedis在Redis中执行大量插入/读取操作。Redis服务器使用默认配置。当我开始使用几个线程时出现问题,异常是:redis.clients.jedis.exceptions.JedisConnectionException:java.net.SocketException:Pipequebrado(Writefailed)我已经搜索了很多有关此问题的信息,但找不到原因或已解决。我用来执行这些测试的代码如下:publicclassRedisFacade{privatestaticRedisFacadeinstancia=null;//InitializetheConnec

memory-leaks - 如何修复Redis "memory leak"

我在dotcloud上使用redis内存存储,但尽管key已过期,但它的used_memory再也不会下降。从redis-cli使用flushdb或flushall不会导致used_memory从~20Mb下降。我在RedisToGo上遇到了同样的问题。有谁知道我是怎么填满它的?我怎样才能避免这样做?也许有些字符不应该放入Redis值或键中?我将它与EM一起使用,并从herokurails应用程序重新请求。 最佳答案 Redis也有一个mem_fragmentation_ratio(例如:2.5),因此使用这两个值可能会导致更准确的

java - 绝地武士 : Could not get a resource from the pool

背景我们的应用程序使用Jedis-2.2.1并连接到Redis-2.6,这是我获取jedis资源的方式:protectedstaticJedisWrappergetRedisUserWrite(StringUDID){if(redisUserWritePools.get(0)==null)init();inthash=hash(UDID);Jedisjedis=redisUserWritePools.get(hash).getResource();jedis.select(dbs.get("redisUserWritePools"+hash));returnnewJedisWrappe

php - Predis 与 laravel 5.5 "No connections available in the pool in Aggregate/RedisCluster.php:337 "

我在AmazonElastiCache上为缓存设置了redis-cluster,使用Laravel5.5和Predis包,我收到以下错误。Predis\ClientException:Noconnectionsavailableinthepoolinvendor/predis/predis/src/Connection/Aggregate/RedisCluster.php:337Trace:Predis\ClientException:Noconnectionsavailableinthepoolinvendor/predis/predis/src/Connection/Aggrega

redis - 提高 Redis 设置的性能(设置 vm.overcommit_memory=1 后性能下降)

在诊断和调整我的Redis设置(Ubuntu14.04机器上的2个redis-server实例)的性能方面需要一些帮助。请注意,大量写入的DjangoWeb应用程序与Redis共享VM。该机器有8个内核和25GBRAM。我最近发现后台保存会间歇性地失败(出现fork()错误),即使RAM没有耗尽也是如此。为了解决这个问题,我应用了设置vm.overcommit_memory=1(之前是default)。此外vm.swappiness=2,vm.overcommit_ratio=50。我也通过echonever>/sys/kernel/mm/transparent_hugepage/en

Java-Redis : Pool of 300+ connections possible?

我发现很难在具有300多个连接的Redis中创建连接池。我将在多线程应用程序的易变环境中使用它。有没有人有这样的部署经验可以帮助我确定这是否可行?谢谢。 最佳答案 你不应该在redis方面有任何问题-http://jaksprats.wordpress.com/2010/09/22/12/显示多达64k并发连接的性能数据。300与64k相去甚远,但它更接近java可以合理处理的最大线程数。这取决于您使用的硬件、JVM设置以及每个线程的工作量。您的问题中没有足够的信息来确定,但很可能这是您遇到问题的地方。

R Shiny in Memory Application 或 noSQL

我正在使用R的shiny框架运行一个微型网络应用程序。该工具没有那么多。它只是从UI中过滤具有给定参数的数据帧。我现在遇到的问题如下。如果用户通过http访问应用程序,则需要很长时间才能启动应用程序。由于我在global.R中加载的数据非常大(~5GB)。初始启动后,应用程序运行平稳,在给定时间内重新访问时也是如此(应用程序似乎完全在内存中,有几分钟)。由于我有足够的可用内存,而且我的数据不会因用户交互而改变,我问自己是否可以将完整的应用程序保存在内存中。有可能强制这样做吗?我的服务器运行的是centOS6。问题也不在于文件系统、硬盘等。我创建了一个ram磁盘来加载数据,但性能提升很小