2015-07-12 36 views
0

我想添加視頻上傳到任務使用django和芹菜+ redis。這些視頻最多隻有3MB,但似乎將視頻傳給內存是有問題的,並且達到了redis的限制。最大內存redis heroku django

如何查找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,而不是通過文件讀取並通過內存傳遞?

+0

打開與Redis數據庫的連接並運行命令CONFIG GET maxmemory。你在使用哪個Redis數據庫? –

+0

如果您使用的是Heroku Redis,則每個計劃的內存大小也會顯示在插件頁面上:https://elements.heroku.com/addons/heroku-redis – elithrar

回答

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位系統具有如0(零)的maxmemory默認值所得到沒有內存限制。
32位系統使用隱含內存限制3GB

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

修改的最大內存限制:

要修改Redis的服務器的最大內存限制,您可以使用redis.conf文件中設置的maxmemory配置指令,或通過在運行時使用CONFIG SET命令。

例如,要配置500兆字節的內存限制,可以在redis.conf文件中使用以下指令。

maxmemory 500mb