Lettuce for Redis Enterprise

Redis Developer Course Redis Technical Support Redis Enterprise Server

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

CD (change database)

Redis Enterprise에서는 데이터베이스 변경 시 cd를 사용합니다.
Select는 데이터를 조회하는 SQL Select로 사용합니다.

사용 예

  • cd 1 -> syncCommands.cd(1); 1번 db로 옮깁니다.

Test code

LS (list)

패턴을 키를 조회할 수 있고 다른 다양한 방법으로 키를 조회할 수 있습니다.

사용 예

  • 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 (remove)

삭제할 키를 여러 개 지정할 수 있고, 서브쿼리를 사용할 수 있습니다.

사용 예

  • rm key1 -> syncCommands.rm("key1"); key1을 삭제합니다.
  • rm key2 key3 -> syncCommands.rm("key2","key3"); key2, key3을 삭제합니다.

Test code

RMS (remove subquery)

서브쿼리를 사용할 수 있습니다.

사용 예

  • 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로 데이터를 조회합니다.

사용 예

  • 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.*;
  • Test code 2: select * from string.*;
  • Test code 3: select count(*) from string.*;
  • Test code 4: select * from string.user*;
  • Test code 5: select * from string.user1;
  • Test code 6: select min(key), max(key) from string.*;
  • Test code 7: select * from string.* where key <= 'key3';
  • Test code 8: select * from string.* where value glob 'value*';
  • Test code 9: select left(key,3), count(*) from string.* group by left(key,3);

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

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

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

SETS

String에서 서브쿼리를 사용해 값을 저장합니다.

사용 예

  • sets mykey (get key) -> syncCommands.sets("mykey", "(get key)");   get key의 결과 값을 mykey에 넣습니다.

Test code

APPENDS

String에서 서브쿼리를 사용해 값을 추가합니다.

사용 예

  • appends mykey (get key) -> syncCommands.appends("mykey", "(get key)");   get key의 결과 값을 mykey에 추가합니다.

Test code


LIST

LPUSHS

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

RPUSHS

List에서 서브쿼리를 사용해 값을 넣습니다.

사용 예

  • rpushs mylist2 (lrange mylist 0 -1) -> syncCommands.rpushs("mylist2", "(lrange mylist 0 -1)");  
    "lrange mylist 0 -1"의 결과 값들을 mylist2에 넣습니다.

Test code

LLS (list list)

리스트에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.

사용 예

  • lls mylist A* -> syncCommands.lls("mylist","A*"); mylist에서 A로 시작하는 값을 조회합니다.
  • lls mylist A* sort -> syncCommands.lls("mylist","A*","sort"); mylist에서 A로 시작하는 값을 소트해서 조회합니다.

Test code

LRM (list remove)

리스트에서 패턴으로 값을 삭제합니다.

사용 예

  • lrm mylist A* -> syncCommands.lrm("mylist","A*"); mylist에서 A로 시작하는 값을 삭제합니다.

Test code

LRANGE

소트해서 조회할 수 있습니다.
주의: CLI에서는 LRANGE를 사용하고 Lettuce에서는 LRANGE2()를 사용합니다.

사용 예

  • lrange mylist 0 -1 sort -> syncCommands.lrange2("mylist",0,-1,"sort");  
    mylist의 값을 소트해서 조회합니다.

Test code

LREVRANGE

리스트의 값을 오른쪽에서 왼쪽으로 조회합니다.
주의: CLI에서는 LREVRANGE를 사용하고 Lettuce에서는 LREVRANGE2()를 사용합니다.

사용 예

  • lrevrange mylist -1 0-> syncCommands.lrevrange2("mylist",-1,0);  
    mylist의 값을 오른쪽에서 왼쪽으로 조회합니다.

Test code


SET

SADD

Member에 만료시간(expire)를 설정할 수 있습니다.

사용 예

  • sadd myset E1 ex 20 -> syncCommands.sadd("myset", "E1","ex","20");  
    만료시간(expire)를 지정할 수 있습니다.

Test code

SADDS

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

SLS (set list)

셋(Set)에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.

사용 예

  • sls myset A* -> syncCommands.sls("myset","A*"); myset에서 A로 시작하는 값을 조회합니다.
  • sls myset A* sort -> syncCommands.sls("myset","A*","sort"); myset에서 A로 시작하는 값을 소트해서 조회합니다.

Test code

SRM (set remove)

셋(Set)에서 패턴으로 값을 삭제합니다.

사용 예

  • srm myset A* -> syncCommands.srm("myset","A*") myset에서 A로 시작하는 값을 삭제합니다.

Test code

SLEN

Set에서 키에 속한 멤버 개수를 조회합니다.

사용 예

  • slen myset -> syncCommands.slen("myset");  
    myset에 속한 멤버 개수를 조회합니다.

Test code

SMEMBERS

Set에서 키를 여러 개 사용해서 조회할 수 있고, 소트할 수 있습니다.
주의: CLI에서는 SMEMBERS를 사용하고 Lettuce에서는 SMEMBERS2()를 사용합니다.

사용 예

  • smembers myset1 myset2 -> syncCommands.smembers2("myset","myset2");  
    키를 여러 개 사용해서 조회할 수 있습니다.
  • smembers myset1 myset2 sort -> $this->redis->smembers2('myset1', 'myset2', 'sort');  
    소트해서 조회할 수 있습니다. 이 경우 각 키 안에 있는 멤버를 대상으로 소트합니다.

Test code

SUNION / SINTER / SDIFF

연산(합집합, 교집합, 차집합) 결과를 소트할 수 있습니다.
주의: 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

ZADD

ZSet에서 member에 만료시간(expire)를 설정할 수 있습니다.

사용 예

  • zadd myzset 10 value ex 20 -> syncCommands.zadds("myzset", 10, "value", "ex", "20"); ex 20으로 만료시간(expire)를 지정할 수 있습니다.

Test code

ZADDS

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

ZLS (zset list)

ZSet에서 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.

사용 예

  • zls myzset A* -> syncCommands.zls("myzset","A*"); myzset에서 A로 시작하는 값을 조회합니다.
  • zls myzset A* sort -> syncCommands.zls("myzset","A*","sort"); 값을 소트해서 조회합니다.

Test code

ZRM (zset remove)

ZSet에서 패턴으로 값을 삭제합니다.

사용 예

  • zrm myzset A* -> syncCommands.zrm("myzset","A*"); myzset에서 A로 시작하는 값을 삭제합니다.

Test code

ZISMEMBER

ZSet에서 키에 멤버가 있는지 확인합니다.

사용 예

  • zismember myzset 'A1' -> syncCommands.zismember("myzset","A1");  
    키 myzset에 'A1'이 있는지 확인합니다.

Test code


HASH

HSETS

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

HLS (hash list)

해시(Hash)에서 필드에 패턴으로 값을 조회할 수 있고, 소트할 수 있습니다.

사용 예

  • hls myhash A* -> syncCommands.hls("myhash","A*"); myhash에서 A로 시작하는 필드를 조회합니다.
  • hls myhash A* sort -> syncCommands.hls("myhash","A*","sort"); 값을 소트해서 조회합니다.

Test code

HRM (zset remove)

해시(Hash)에서 필드에 패턴으로 값을 삭제합니다.

사용 예

  • hrm myhash A* -> syncCommands.hrm("myhash","A*"); myhash에서 A로 시작하는 필드를 삭제합니다.

Test code

ZLEN

ZSet에서 키에 속한 멤버 개수를 조회합니다.

사용 예

  • zlen myzset -> syncCommands.zlen("myzset");  
    myzset에 속한 멤버 개수를 조회합니다.

Test code

HKEYS / HVALS / HGETALL

멀티 키 사용: 해시(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


<< Cluster Enterprise