Redis Study (6) 썸네일형 리스트형 Redis, Collections - Sorted Set Sorted Set 하나의 Key에 여러개의 Score와 Value로 구성된다 Score를 기준으로 정렬이 가능하다 value는 score로 sort되며 score가 같으면 value로 sort 된다. score가 같으면 value로 sort됩니다. Sorted Sets에서는 집합이라는 의미에서 value를 member라 부릅니다. Sorted Sets은 주로 정렬이 필요한 곳에 사용한다. ZADD - 데이터 추가 zadd는 Sorted Sets에 데이터를 추가한다. ZADD KEY [score] [value] 순으로 입력 redis:6379> zadd test 10 a (integer) 1 redis:6379> zadd test 20 b (integer) 1 redis:6379> zadd test 15.. Redis, Collections - Hashes Hashes Hashes는 Key 하나에 여러개의 Field와 Value로 구성된다. Key하나에 field와 value를 4,294,967,295까지 저장 가능합니다. Summary HSET - HSET은 데이터를 삽입하며 삽입 된 key-value 쌍의 개수를 반환한다. HGET - HGET은 key를 단건으로 데이터를 조회한다. HMGET - HMGET은 key를 복수건으로 데이터를 조회한다. HGETALL - HGETALL은 Hashes에 들어간 데이터 전부를 반환한다. HKEYS - 입력된 key를 통해 hashes 에 존재하는 key의 목록을 조회한다. HVALS - 입력된 key를 통해 Hashes에 존재하는 value의 목록을 조회한다. HEXISTS - HEXISTS는 데이터가 없으면 0.. Redis, Collection - Sets Sets 중복된 데이터가 존재하지 않는다. 교집합, 합집합 등의 집합 연산을 제공한다. SADD - 데이터 추가 Sets 자료형에 key-value 추가 한다. redis:6379> sadd work:queue:ids 1 (integer) 1 이미 존재하는 데이터를 다시 추가할 때 0을 반환하며 이는 추가되지 않았음을 뜻하고 추가에 성공하면 1을 반환한다. redis:6379> sadd work:queue:ids 0 (integer) 1 redis:6379> sadd work:queue:ids 1 (integer) 1 redis:6379> smembers work:queue:ids 1) "0" 2) "1" redis:6379> sadd work:queue:ids 0 (integer) 0 redis:637.. Redis, Collection - Lists Lists List는 String values가 linked list라 생각하면 되고 Head와 Tail에서 PUSH/POP 연산을 이용하여 데이터를 넣고 뺄 수 있다. 한 key 에 넣을 수 있는 요소의 최대 개수는 4,294,967,295 개이다. Head 와 Tail에 데이터를 넣고 뺴는 건 속도가 빠르지만 중간에 데이터를 삽입하거나 삭제하는 어렵다. LPUSH / RPUSH - 데이터 삽입 LPUSH는 키에 저장된 목록에 좌측(왼쪽)에 지정된 값을 삽입한다. RPUSH는 키에 저장된 목록에 우측(오른쪽)에 지정된 값을 삽입한다. LPUSH와 RPUSH 모두 키가 없다면 빈 목록을 생성한 후에 처리한다. redis:6379> lpush work:queue:ids 101 (integer) 1 redi.. Redis, Collection - Strings Strings 가장 일반적인 형태로 Key-Value로 저장하는 형태이다. key와 value가 Binary Safe 하기 때문에 데이터 종류의 제한이 없다 Redis의 String은 512MB의 LIMIT를 가진다. SET / GET SET은 문자열 값을 저장하며 이미 key가 존재하는 경우, key에 value를 덮어씌운다. GET은 문자열 값을 검색한다. redis:6379> set mykey value2 OK redis:6379> get mykey "value2" APPEND append는 key에 해당하는 value에 문자열을 추가한다 redis:6379> append mykey value3 (integer) 12 redis:6379> get mykey "value2value3" INCR inc.. Redis란 Stands for Redis는 Remote Dictionary Server의 약어이다. In-Memory DataBase Redis는 데이터를 메모리에 저장하고 조회한다. 즉 In-Memory DataBase이다. 데이터를 메모리에 저장하고 사용하기 때문에 이는 HDD와 RAM의 차이를 알고 있다면 명확하게 속도가 빠르다는 것을 의미하는 것을 알 수 있다. 하지만 RAM을 사용하기 때문에 당연히 용량 문제가 있고 데이터 저장을 위한 DB로 사용하기에는 무리가 있다. 즉 Redis as a Cache 그러니까 Redis는 주로 Cache DB Server 라고 생각하자. NoSQL DataBase라고 표현되어있기 떄문에 SQL을 써야되는건가 싶지만 그렇진 않고 Key-Value 구조로 데이터를 관리하기 .. 이전 1 다음