sql >> データベース >  >> NoSQL >> Redis

nginx luarediscookieが設定されていません

    多分あなたは他のものを表示するのを忘れています;

    私はopenresty環境を持っていません。しかし、私たちの環境は似ています。

    以下のコードは私のテストであり、完全に実行されます

    これはnginx.confです

    location /cookie {
        default_type "text/plain";
        lua_code_cache off;
        content_by_lua_file test.lua;
    } 
    

    これはluaスクリプトです

    local redis = require "redis"
    local red = redis.connect('192.168.1.51',6379)
    
    local ip = ngx.var.remote_addr
    local secs = ngx.time()
    local uid_key = ip .. secs
    local uid = (uid_key)
    local cookie = ngx.var.cookie_uid
    local red_cookie = red:hget("cookie:"..uid, uid)
    
    
    local args = ngx.req.get_headers()
    local date_time = ngx.http_time(secs)
    
    if cookie == nil or cookie ~= red_cookie then
        ngx.header['Set-Cookie'] = "path=/; uid=" .. uid 
        local res, err = red:hmset("cookie:".. uid,
        "uid", uid, "date_time", date_time,
        "user-agent", args["user-agent"])
    
        if not res then
            ngx.say("failed to set cookie: ", err)
        end 
    end
    

    コードについてもっと表示しますか?



    1. データベース内のコレクション数の制限

    2. Spring Data MongoDB –インデックス、アノテーション、コンバーター

    3. MongoDBプロジェクションで文字列を数値に変換する

    4. MongoDBrootユーザー