Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 25 Próxima »

Enfileira um comando na fila de comandos para serem processados pelo servidor Redis.

Sintaxe

oRedisAfter := oRedisClient:Append(cCommand [ , cParameter ])

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cCommand
Caracter

Comando a ser enfileirado

X
Pode conter ? que será preenchida por parâmetro
cParameter
CaracterComplemento do comando

Substituirá a interrogação (ou ?) eventual no comando.

Retorno

NomeTipoDescriçãoObservações
oRedisAfter
objeto tRedisClientCópia do objeto sobre o qual foi feita a chamada, alterado por ela.*

Isto permite acoplar outros métodos e propriedades à chamada de ::Append()
   Por exemplo,
    oRedisCli:Append(cCommand, @retVal):lOk


   testará se o comando foi bem sucedido, sem a necessidade de uma consulta à parte a ::lOk sobre o objeto oRedisClient.

Observações

Alguns comandos admitem parâmetros adicionais. Neste caso, para facilidade de programação, pode-se ter uma string de comando fixa (ou constante), com possibilidade de substituição por variáveis nos pontos onde for inserido um ponto de interrogação, o caracter ?

::Append() apenas enfileira comandos para processamento pelo servidor Redis. A resposta a eles deve ser obtida por chamadas de ::GetReply()

O método ::Execute() é muito semelhante em propósito ao método ::Append(): ambos disparam a execução de comandos no servidor Redis.

A maior diferença é que o programa que dispare ::Execute() aguardará seu término e receberá dele o resultado do comando.

Isto torna ::Append() ideal para a programação assíncrona e concorrente do servidor Redis, ao passo que ::Exec() fica limitado à programação sequencial e síncrona.

Exemplos

Exemplo 1 – String de comando constante



#include 'protheus.ch'
 
User Function ApndTst()
  oRedisCli:= tRedisClient():New()

  // Setup Redis connection
  oRedisCli:Connect("localhost", 6379, "")

  If oRedisClient:lConnected
    // Set the field 'x' to the value 'aaa'
    oRedisCli:Append("set x ?", "aaa")

	retVal := oRedisCli:GetReply()

    ConOut(retVal)

    oRdClient:Disconnect()
    Return .T.
  EndIf 

Return .F.
  • Sem rótulos