Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 带有Resque和Rails的Redis:ERR命令在使用内存时不允许>';maxmemory';_Ruby On Rails 3_Redis_Resque - Fatal编程技术网

Ruby on rails 3 带有Resque和Rails的Redis:ERR命令在使用内存时不允许>';maxmemory';

Ruby on rails 3 带有Resque和Rails的Redis:ERR命令在使用内存时不允许>';maxmemory';,ruby-on-rails-3,redis,resque,Ruby On Rails 3,Redis,Resque,使用redis时,会出现以下错误: ERR command not allowed when used memory > 'maxmemory' info命令显示: redis 127.0.0.1:6379> info redis_version:2.4.10 redis_git_sha1:00000000 redis_git_dirty:0 arch_bits:64 multiplexing_api:kqueue gcc_version:4.2.1 process_id:1881

使用redis时,会出现以下错误:

ERR command not allowed when used memory > 'maxmemory'
info命令显示:

redis 127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:kqueue
gcc_version:4.2.1
process_id:1881
uptime_in_seconds:116
uptime_in_days:0
lru_clock:1222663
used_cpu_sys:0.04
used_cpu_user:0.04
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:930912
used_memory_human:909.09K
used_memory_rss:1269760
used_memory_peak:931408
used_memory_peak_human:909.58K
mem_fragmentation_ratio:1.36
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:4
bgsave_in_progress:0
last_save_time:1333432389
bgrewriteaof_in_progress:0
total_connections_received:1
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master

使用的内存是否高?我是个彻头彻尾的疯子。如果是这样,这个问题是如何发生的,我应该如何从这里开始?同样的错误都发生在生产中(Heroku),因此非常感谢您的帮助。谢谢。

当达到最大内存限制时,将返回此消息。 您可以使用以下命令检查当前限制:

redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "128000000"
结果以字节为单位

请注意,一个空的Redis实例使用大约710KB的内存(在Linux上),因此如果您计划只存储1MB的有用数据并强制执行此限制,那么您需要在maxmemory参数中设置1734K。在配置文件中,maxmemory设置以字节为单位,除非使用K、M、G后缀

Redis将所有内容都存储在内存中(它从不将数据溢出到磁盘上),因此您的Resque队列的所有内容都必须适合。对于一个刷新引擎来说,几MB的内存似乎很低


您没有指定您选择的Heroku选项,但我的理解是Redis To Go“nano”选项(免费选项)限制为5 MB。

Didier的回答很好,这些只是增加它的步骤:

redis-cli
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "67108864" # (67mb) this will be different in your case
这是如何改变它的:

127.0.0.1:6379> config set maxmemory 100mb
OK
127.0.0.1:6379> config set maxmemory-policy allkeys-lru
OK
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "104857600"

嘿,我在Heroku上也有同样的问题。我想你的解决方案是本地的,对吧?