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
'잡다한 자료' 카테고리의 다른 글
[ElasticSearch] 시간대별 문서건수 집계 (0) | 2024.02.01 |
---|---|
번역. Kafka Protocol Guide (0) | 2021.05.05 |
Redis. Keyspace Notifications (0) | 2021.02.16 |
GitHub. Two-Factor Auth. SourceTree. ssh 연결 (0) | 2020.12.22 |
aws. CloudWatch -> Lambda -> api 호출 (0) | 2020.06.23 |