Redix LogoDocumentation
API ReferenceUtilities

GetInstance

Get direct access to the Redis client instance

Syntax

Redix.GetInstance()

Parameters

Prop

Type

Returns

Prop

Type

Examples

-- Get Redis instance
local Redix = Redix.GetInstance()

-- Use ioredis methods directly
redis:set('key', 'value', function(err, result)
    print('Set result:', result)
end)

-- Access Redis client for advanced features
local instance = Redix.GetInstance()
instance:pipeline()
    :set('key1', 'value1')
    :set('key2', 'value2')
    :exec(function(err, results)
        print('Pipeline complete')
    end)

Use Cases

Advanced Operations

function AdvancedRedisOperations()
    local Redix = Redix.GetInstance()

    -- Use Redis transactions
    local multi = redis:multi()
    multi:incr('counter')
    multi:set('lastUpdate', os.time())
    multi:exec(function(err, results)
        print('Transaction completed')
    end)
end

Custom Lua Scripts

function RunLuaScript()
    local Redix = Redix.GetInstance()

    local script = [[
        local key = KEYS[1]
        local value = redis.call('GET', key)
        if value then
            return redis.call('INCR', key)
        else
            redis.call('SET', key, 1)
            return 1
        end
    ]]

    redis:eval(script, 1, 'myCounter', function(err, result)
        print('Script result:', result)
    end)
end

Direct instance access bypasses Redix abstractions. Use with caution and ensure you understand ioredis API.