lettuce_enterprise
Lettuce for Redis Enterprise
Lettuce for Redis Enterprise
Lettuce 6.1.3.ENT에서 지원하는 Redis Enterprise 명령
공통
SQL
STRING
LIST
SET
ZSET
HASH
공통 COMMON
포함해야 할 package
Import package
접속 connection
Connect to Redis Server
Redis Enterprise에서는 데이터베이스 변경 시 cd를 사용합니다.
Select는 데이터를 조회하는 SQL Select로 사용합니다.
사용 예
- cd 1 -> syncCommands.cd(1); 1번 db로 옮깁니다.
Test code
패턴을 키를 조회할 수 있고 다른 다양한 방법으로 키를 조회할 수 있습니다.
사용 예
- ls * -> syncCommands.ls("*"); 모든 키를 조회합니다.
- ls user* -> syncCommands.ls("user*"); user로 시작하는 키를 조회합니다.
- ls * string -> syncCommands.ls("*","string"); string 키를 모두 조회합니다.
- ls * type -> syncCommands.ls("*","type"); 모든 키와 data type을 조회합니다.
- ls * memory -> syncCommands.ls("*","memory"); 모든 키와 키가 사용하고 있는 메모리를 조회합니다.
- ls * sort -> syncCommands.ls("*","sort"); 모든 키를 소트해서 조회합니다.
- ls * count 10 -> syncCommands.ls("*","count","10"); 키를 10개만 조회합니다.
Test code
삭제할 키를 여러 개 지정할 수 있고, 서브쿼리를 사용할 수 있습니다.
사용 예
- rm key1 -> syncCommands.rm("key1"); key1을 삭제합니다.
- rm key2 key3 -> syncCommands.rm("key2","key3"); key2, key3을 삭제합니다.
Test code
서브쿼리를 사용할 수 있습니다.
사용 예
- rms (get key) -> syncCommands.rms("(get key)"); get key의 결과로 키를 삭제합니다.
- rms (ls user*) -> syncCommands.rms("(ls user*)"); user로 시작하는 키를 삭제합니다.
- rms (ls * string) -> syncCommands.rms("(ls * string)"); string 키 모두를 삭제합니다.
Test code
SQL
SELECT로 데이터를 조회합니다.
사용 예
- select * from string.*; -> syncCommands.sqlselect('select * from string.*;');
String 키,값을 조회합니다.
- select * from list.*; -> syncCommands.sqlselect('select * from list.*;');
List 키,값을 조회합니다.
- select * from set.*; -> syncCommands.sqlselect('select * from set.*;');
Set 키,값을 조회합니다.
- select * from zset.*; -> syncCommands.sqlselect('select * from zset.*;');
ZSet 키,값을 조회합니다.
- select * from hash.*; -> syncCommands.sqlselect('select * from hash.*;');
Hash 키,값을 조회합니다.
- select * from stream.*; -> syncCommands.sqlselect('select * from stream.*;');
Stream 키,값을 조회합니다.
String Test code
- Test code 1: select key from string.*;
List Test code
- Test code 1: select * from list.*;
Set Test code
- Test code 1: select * from set.*;
ZSet Test code
- Test code 1: select * from zset.*;
Hash Test code
- Test code 1: select * from hash.*
Stream Test code
- Test code 1: select * from stream.*
Function valcnt(), len(), card() Test code
키에 속한 값/요소(element)/멤버(member) 개수를 조회한다. Valcnt = len = card
String은 항상 1이 조회된다.
다른 데이터 타입은 값의 개수가 조회된다.
- Test code: select key, valcnt(key), len(key), card(key) from hash.*
Function memory() Test code
키와 값이 차지하고 있는 메모리량을 조회한다.
- Test code: select key, memory(key) from hash.*
Function type(), encoding() Test code
키의 데이터 타입, 인코딩 타입을 조회한다.
- Test code: select key, type(key), encoding(key) from hash.*
Function updatetime() Test code
키의 마지막 갱신시각(updatetime)을 조회한다.
- Test code: select key, type(key), updatetime(key) from hash.*
INSERT로 데이터를 저장합니다.
사용 예
- String -> syncCommands.sqlinsert("insert into string values('key1','value1')");
- List -> syncCommands.sqlinsert("insert into list values('mylist1','value1','value2')");
- Set -> syncCommands.sqlinsert("insert into set values('myset1','value1','value2')");
- ZSet -> syncCommands.sqlinsert("insert into zset values('zset1', 23.5, 'value1', 36.7, 'value2')");
- Hash -> syncCommands.sqlinsert("insert into hash values('myhash1', 'field1', 'value1', 'field2', 'value2')");
- Stream -> syncCommands.sqlinsert("insert into stream values('sensor_1', '*', 'field1', 'value1', 'field2', 'value2')");
String insert Test code
- Test code:
List insert Test code
- Test code:
Set insert Test code
- Test code:
ZSet insert Test code
- Test code:
Hash insert Test code
- Test code:
Stream insert Test code
- Test code:
DELETE로 데이터를 삭제합니다.
사용 예
- String; -> syncCommands.sqldelete("delete from string.key1");
- List -> syncCommands.sqldelete("delete from list.mylist1");
- Set -> syncCommands.sqldelete("delete from set.myset1");
- Zset -> syncCommands.sqldelete("delete from zset.zset1");
- Hash -> syncCommands.sqldelete("delete from hash.myhash1");
- Stream -> syncCommands.sqldelete("delete from stream.sensor_1");
String delete Test code
- Test code:
List delete Test code
- Test code:
Set delete Test code
- Test code:
ZSet delete Test code
- Test code:
Hash delete Test code
- Test code:
Stream delete Test code
- Test code:
STRING
String에서 서브쿼리를 사용해 값을 저장합니다.
사용 예
- sets mykey (get key) -> syncCommands.sets("mykey", "(get key)");
get key의 결과 값을 mykey에 넣습니다.
Test code
String에서 서브쿼리를 사용해 값을 추가합니다.
사용 예
- appends mykey (get key) -> syncCommands.appends("mykey", "(get key)");
get key의 결과 값을 mykey에 추가합니다.
Test code
LIST
List에서 서브쿼리를 사용해 값을 넣습니다.
사용 예
- lpushs mylist (get key) -> syncCommands.lpushs("mylist", "(get key)");
get key의 결과 값을 mylist에 넣습니다.
- lpushs mylist2 (lrange mylist 0 -1) -> syncCommands.lpushs("mylist2", "(lrange mylist 0 -1)");
"lrange mylist 0 -1"의 결과 값을 mylist2에 넣습니다.
Test code
List에서 서브쿼리를 사용해 값을 넣습니다.
사용 예
- rpushs mylist2 (lrange mylist 0 -1) -> syncCommands.rpushs("mylist2", "(lrange mylist 0 -1)");
"lrange mylist 0 -1"의 결과 값들을 mylist2에 넣습니다.
Test code
리스트에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.
사용 예
- lls mylist A* -> syncCommands.lls("mylist","A*"); mylist에서 A로 시작하는 값을 조회합니다.
- lls mylist A* sort -> syncCommands.lls("mylist","A*","sort"); mylist에서 A로 시작하는 값을 소트해서 조회합니다.
Test code
리스트에서 패턴으로 값을 삭제합니다.
사용 예
- lrm mylist A* -> syncCommands.lrm("mylist","A*"); mylist에서 A로 시작하는 값을 삭제합니다.
Test code
소트해서 조회할 수 있습니다.
주의: CLI에서는 LRANGE를 사용하고 Lettuce에서는 LRANGE2()를 사용합니다.
사용 예
- lrange mylist 0 -1 sort -> syncCommands.lrange2("mylist",0,-1,"sort");
mylist의 값을 소트해서 조회합니다.
Test code
리스트의 값을 오른쪽에서 왼쪽으로 조회합니다.
주의: CLI에서는 LREVRANGE를 사용하고 Lettuce에서는 LREVRANGE2()를 사용합니다.
사용 예
- lrevrange mylist -1 0-> syncCommands.lrevrange2("mylist",-1,0);
mylist의 값을 오른쪽에서 왼쪽으로 조회합니다.
Test code
SET
Member에 만료시간(expire)를 설정할 수 있습니다.
사용 예
- sadd myset E1 ex 20 -> syncCommands.sadd("myset", "E1","ex","20");
만료시간(expire)를 지정할 수 있습니다.
Test code
Set에서 서브쿼리를 사용해서 member를 저장할 수 있습니다.
사용 예
- sadds myset (lrange mylist 0 -1) -> syncCommands.sadds("myset", "(lrange mylist 0 -1)");
서브쿼리를 사용해서 데이터를 넣을 수 있습니다.
- sadd myset (lrange mylist 0 -1) ex 20 -> syncCommands.sadd("myset", "(lrange mylist 0 -1)","ex","20");
만료시간(expire)를 지정할 수 있습니다. 이 경우 서브쿼리 결과 멤버 모두에 만료시간이 적용됩니다.
Test code
셋(Set)에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.
사용 예
- sls myset A* -> syncCommands.sls("myset","A*"); myset에서 A로 시작하는 값을 조회합니다.
- sls myset A* sort -> syncCommands.sls("myset","A*","sort"); myset에서 A로 시작하는 값을 소트해서 조회합니다.
Test code
셋(Set)에서 패턴으로 값을 삭제합니다.
사용 예
- srm myset A* -> syncCommands.srm("myset","A*") myset에서 A로 시작하는 값을 삭제합니다.
Test code
Set에서 키에 속한 멤버 개수를 조회합니다.
사용 예
- slen myset -> syncCommands.slen("myset");
myset에 속한 멤버 개수를 조회합니다.
Test code
Set에서 키를 여러 개 사용해서 조회할 수 있고, 소트할 수 있습니다.
주의: CLI에서는 SMEMBERS를 사용하고 Lettuce에서는 SMEMBERS2()를 사용합니다.
사용 예
- smembers myset1 myset2 -> syncCommands.smembers2("myset","myset2");
키를 여러 개 사용해서 조회할 수 있습니다.
- smembers myset1 myset2 sort -> $this->redis->smembers2('myset1', 'myset2', 'sort');
소트해서 조회할 수 있습니다. 이 경우 각 키 안에 있는 멤버를 대상으로 소트합니다.
Test code
연산(합집합, 교집합, 차집합) 결과를 소트할 수 있습니다.
주의: CLI에서는 SUNION/SINTER/SDIFF를 사용하고 Lettuce에서는 SUNION2()/SINTER2()/SDIFF2()를 사용합니다.
사용 예
- sunion myset1 myset2 -> syncCommands.sunion2("myset","myset2");
myset1과 myset2의 합집합을 구해서 소트해서 조회합니다.
- sinter myset1 myset2 -> syncCommands.sinter2("myset","myset2");
myset1과 myset2의 교집합을 구해서 소트해서 조회합니다.
- sdiff myset1 myset2 -> syncCommands.sdiff2("myset","myset2");
myset1과 myset2의 차집합을 구해서 소트해서 조회합니다.
Test code
ZSET
ZSet에서 member에 만료시간(expire)를 설정할 수 있습니다.
사용 예
- zadd myzset 10 value ex 20 -> syncCommands.zadds("myzset", 10, "value", "ex", "20");
ex 20으로 만료시간(expire)를 지정할 수 있습니다.
Test code
ZSet에서 서브쿼리를 사용해서 score, member를 저장할 수 있고, 만료시간(expire)를 지정할 수 있습니다.
사용 예
- zadds myset (lrange mylist 0 -1) -> syncCommands.zadds("myzset", "(lrange mylist 0 -1)");
'lrange mylist 0 -1' 쿼리 결과가 myzset에 저장됩니다.
이 경우 스코어는 0으로 들어갑니다.
- zadds myzset (lrange mylist 0 -1) ex 20 -> syncCommands.zadds("myzset", "(lrange mylist 0 -1)", "ex", "20");
ex 20으로 만료시간(expire)를 지정할 수 있습니다. 이 경우 서브쿼리 결과 멤버 모두에 만료시간이 적용됩니다.
Test code
ZSet에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.
사용 예
- zls myzset A* -> syncCommands.zls("myzset","A*"); myzset에서 A로 시작하는 값을 조회합니다.
- zls myzset A* sort -> syncCommands.zls("myzset","A*","sort"); 값을 소트해서 조회합니다.
Test code
ZSet에서 패턴으로 값을 삭제합니다.
사용 예
- zrm myzset A* -> syncCommands.zrm("myzset","A*"); myzset에서 A로 시작하는 값을 삭제합니다.
Test code
ZSet에서 키에 멤버가 있는지 확인합니다.
사용 예
- zismember myzset 'A1' -> syncCommands.zismember("myzset","A1");
키 myzset에 'A1'이 있는지 확인합니다.
Test code
HASH
Hash에서 서브쿼리를 사용해서 fiend, value를 저장할 수 있고, 만료시간(expire)를 지정할 수 있습니다.
사용 예
- hsets myhash3 (get user1) -> syncCommands.hsets("myhash3", "(get user1)");
'get user1' 쿼리 결과가 myhash3에 user1은 field로, 값은 value로 저장됩니다.
- hsets myhash3 (hgetall myhash) ex 20 -> syncCommands.hsets("myhash3", "(hgetall myhash)", "ex", "20");
ex 20으로 만료시간(expire)를 지정할 수 있습니다. 이 경우 서브쿼리 결과 멤버 모두에 만료시간이 적용됩니다.
Test code
해시(Hash)에서 필드에 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.
사용 예
- hls myhash A* -> syncCommands.hls("myhash","A*"); myhash에서 A로 시작하는 필드를 조회합니다.
- hls myhash A* sort -> syncCommands.hls("myhash","A*","sort"); 값을 소트해서 조회합니다.
Test code
해시(Hash)에서 필드에 패턴으로 값을 삭제합니다.
사용 예
- hrm myhash A* -> syncCommands.hrm("myhash","A*"); myhash에서 A로 시작하는 필드를 삭제합니다.
Test code
ZSet에서 키에 속한 멤버 개수를 조회합니다.
사용 예
- zlen myzset -> syncCommands.zlen("myzset");
myzset에 속한 멤버 개수를 조회합니다.
Test code
멀티 키 사용: 해시(Hash)에서 키를 여러 개 입력해서 조회합니다.
사용 예
- hkeys myhash1 myhash2 -> syncCommands.hkeys("myhash1","myhash2");
키 myhash1과 myhash2의 필드를 조회합니다.
- hvals myhash1 myhash2 -> syncCommands.hvals("myhash1","myhash2");
키 myhash1과 myhash2의 값을 조회합니다.
- hgetall myhash1 myhash2 -> syncCommands.hgetall("myhash1","myhash2");
키 myhash1과 myhash2의 필드와 값을 조회합니다.
Test code