Histórico da Página
Dispara a execução de um comando a ser processado pelo servidor Redis.
Sintaxe
Bloco de código |
---|
oRedisAfter := oRedisClient:Exec(cCommand, @retVal) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cCommand | Caractere | Comando Redis a ser executado | X | ||
retVal | Variável | Receberá o resultado da execução | X |
Retorno
Nome | Tipo | Descrição | Observações |
---|---|---|---|
oRedisAfter | objeto tRedisClient | Cópia do objeto sobre o qual foi feita a chamada, alterado por ela.* |
*
Isto permite acoplar outros métodos e propriedades à chamada de ::Exec()
Por exemplo, oRedisCli:Exec(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
O método ::Exec()
é 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 ::Exec()
terá que aguardar seu término e receberá dele o resultado do comando, ao passo que isso não ocorre com ::Append()
. Por isso ::Exec()
fica limitado à programação sequencial e síncrona.
Pontos importantes a serem observados:
- o resultado da função é passado para o parâmetro
retVal
, que deve por isso ser passado por referência.::Exec()
também altera o estado do objeto sobre o qual é chamado. Por isso, também as propriedades do objeto terão que ser avaliadas depois da chamada ao método::Exec()
; - o tipo de dados do resultado da chamada a
::Exec()
vai variar de acordo com o comando executado. Por exemplo, o comandoset
retorna valor lógico (.T.
ou.F.
), enquanto queset
retorna uma cadeia de caracteres, ou string.
Exemplos
Exemplo 1 - Emissão do comando
set
para o servidor Redis
setToggle Cloak | ||
---|---|---|
|
Cloak |
---|
Exemplo 2 - Emissão do comando get
para o servidor Redis
Toggle Cloak | ||
---|---|---|
|
Cloak |
---|
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas