redis를 설치하면 포함되어 있는 redis-cli 를 이용하여 명령어를 실행할수 있음.

하지만 redis-cli가 없는 상황에서는 redis서버에 소켓으로 직접 접속해서 명령어를 실행할수도 있음.

직접 소켓통신할때에 redis-cli와 동일하게 inline command 를 사용할수도 있지만

몇가지 경우는 지원이 안됨 (바이너리 데이타, 길이가 0인 데이타 등등)

따라서 완벽한 명령어를 실행하기 위해서는 Redis Protocol Specification 을 구현해야 함

(https://redis.io/topics/protocol)

 

telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

 

기본 명령어

 

"config" "get" "databases"

// 실제 데이타
*3\r\n$6\r\nconfig\r\n$3\r\nget\r\n$9\r\ndatabases\r\n

//-------------------------------
// 이건 편의를 위해 줄바꿈 한것
//-------------------------------
*3 // 전체 명령어 갯수가 3개라는 뜻.
$6 // 다음번 나오는 데이타가 문자열이고, 6byte라는 뜻.
config
$3 // 다음번 나오는 데이타가 문자열이고, 3byte라는 뜻.
get
$9 // 다음번 나오는 데이타가 문자열이고, 9byte라는 뜻.
databases

 

"info" "keyspace"

*2
$4
info
$8
keyspace

 

"scan" "0" "count" "1000" "match" "*" 

*6
$4
scan
$1
0
$5
count
$4
1000
$5
match
$1
*

 

"type" "aaaaaa"

*2
$4
type
$6
aaaaaa

 

"get" "aaaaaa"

*2
$3
get
$6
aaaaaa

 

"ttl" "aaaaaa"

*2
$3
ttl
$6
aaaaaa

 

"renamenx" "newstringKey.060880" "newStringKey"

*3
$8
renamenx
$19
newstringKey.060880
$12
newStringKey

 

"expire" "newStringKey" "1000"

*3
$6
expire
$12
newStringKey
$4
1000

 

"del" "newStringKey" 

*2
$3
del
$12
newStringKey

 

 

String data type 명령어

 

"set" "newstringKey.060880" "newStringValue…newStringValue…" "nx"

*4
$3
set
$19
newstringKey.060880
$34
newStringValue…newStringValue…
$2
nx

 

 

Hash data type 명령어

 

 

"hscan" "hashData2" "0" "count" "1000"

*5
$5
hscan
$9
hashData2
$1
0
$5
count
$4
1000

 

"hset" "newhashKey.261060" "item1" "item1Value"

*4
$4
hset
$17
newhashKey.261060
$5
item1
$10
item1Value

 

"hdel" "newhashKey.261060" "item2"

*3
$4
hdel
$17
newhashKey.261060
$5
item2

 

 

Set data type 명령어

 

"sscan" "setData11111" "0" "count" "1000" 

*5
$5
sscan
$12
setData11111
$1
0
$5
count
$4
1000

 

"sadd" "newsetKey.103000" "newItem1"

*3
$4
sadd
$16
newsetKey.103000
$8
newItem1

 

"srem" "newSetKey.103000" "newItem1"

*3
$4
srem
$16
newSetKey.103000
$8
newItem1

 

 

List data type 명령어

 

"lrange" "newlistKey.357370" "0" "1000"

*4
$6
lrange
$17
newlistKey.357370
$1
0
$4
1000

 

"rpush" "newlistKey.373420" "NewItem1"

*3
$5
rpush
$17
newlistKey.373420
$8
NewItem1

 

"lrem" "newlistKey.373420" "1" "NewItem1"

*4
$4
lrem
$17
newlistKey.373420
$1
1
$8
NewItem1

 

 

SortedSet data type 명령어

 

"zadd" "newzsetKey.056230" "999" "value of score 999"

*4
$4
zadd
$17
newzsetKey.056230
$3
999
$18
value of score 999

 

"zrem" "newzsetKey.056230" "value of score 999"

*3
$4
zrem
$17
newzsetKey.056230
$18
value of score 999
반응형
Posted by 돌비
,