mIRC Scripting ile Redis server'a bağlanmak nasıl olur diye düşündüm, her zamanki gibi basit bir örneğini bırakıyorum, dileyen geliştirebilir.
Not Redis server kurulu olmalıdır. Windows için WSL veya Docker kullanılabilir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias -l redis_host return 127.0.0.1
alias -l redis_port return 6379
alias -l rnd_redis_sc_name return rnd_redis $+ $r(1,9999999)
alias -l get_sockmark return $sock($1).mark
alias redis redis_open_connection $1-
alias -l redis_open_connection {
var %params $iif($1, $1-, PING), %rd $rnd_redis_sc_name
sockopen %rd $redis_host $redis_port
sockmark %rd %params
}
on *:sockopen:rnd_redis*: {
if ($sockerr) {
echo -a Error connection to Redis Server!
return
}
var %s sockwrite -n $sockname
%s $get_sockmark($sockname)
%s $crlf
}
on *:sockread:rnd_redis*: {
var &var
sockread -fn &var
if ($sockbr == 0) return
var %response $bvar(&var, 1-).text
if ($left(%response, 1) == $chr(36)) {
var %len = $mid(%response, 2)
}
elseif ($left(%response, 1) == $chr(43)) {
echo -a Redis string: $right(%response, -1)
}
elseif ($left(%response, 1) == $chr(58)) {
echo -a Redis integer: $right(%response, -1)
}
elseif ($left(%response, 1) == $chr(45)) {
echo -a Redis error: $right(%response, -1)
}
else {
echo -a Redis response: %response
}
}
Sonuçlar:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
-> /redis
-> Redis string: PONG
-> /redis SET test "SuLh"
-> Redis string: OK
-> /redis GET test
-> Redis response: SuLh
-> /redis INCR testcounter
-> Redis integer: 1
-> /redis GET testcounter
-> Redis response: 1
-> /redis asd
-> Redis error: ERR wrong number of arguments for 'set' command