最大记忆redis heroku django

时间:2015-07-12 16:03:10

标签: python django heroku redis

我正在尝试使用django和celery + redis将视频上传添加到任务中。视频最大为3mb但似乎在内存中传递视频存在问题并且达到了redis的限制。

如何找到redis的最大内存限制?

这就是视频上传的内容:

@csrf_exempt
def tag_location(request):
    if request.FILES.__contains__('file'):
        image = request.FILES['file'].read()
    else:
        image = None

    if request.FILES.__contains__('video-file'):
        video = request.FILES['video-file'].read()
    else:
        video = None

    tasks.tag_location.delay(image,video)

    return JsonResponse({'response': 1})

有时文件太大,任务100%正常工作。有没有办法将视频/图像的文件路径传递给redis而不是读取文件并将其传递到内存中?

1 个答案:

答案 0 :(得分:1)

maxmemory配置指令用于配置Redis为数据集使用指定数量的内存。

查找最大内存限制:

要查找正在运行的Redis服务器的最大内存限制,您需要使用CONFIG GET命令。 CONFIG GET命令通常用于读取正在运行的Redis服务器的配置参数。 它接受一个参数,并返回与此参数匹配的所有配置参数作为键值对列表。

示例:

redis 127.0.0.1:6379> CONFIG GET maxmemory # gets maximum memory limit of redis server

64位系统的默认值maxmemory0(零),因此没有内存限制。
32位系统使用隐式内存限制3GB

redis 127.0.0.1:6379> CONFIG GET maxmemory # output on my 64 bit system
1) "maxmemory"
2) "0"

修改最大内存限制:

要修改redis服务器的最大内存限制,可以使用maxmemory文件或在运行时使用redis.conf命令设置CONFIG SET配置指令。

例如,为了配置500兆字节的内存限制,可以在redis.conf文件中使用以下指令。

maxmemory 500mb