본문 바로가기

DB6

Redis 외부접속 설정하기 1. 우선 netstat으로 어떤 포트를 사용중인지 확인한다 2. redis.conf 파일 bind와 password 설정을 해준다 (라즈비안에서는 /etc/redis/redis.conf) NETWORK 부분에서 127.0.0.1을 0.0.0.0으로 bind 해주고 SECURITY 부분에서 원하는 비밀번호를 설정한다. 3. redis-server를 재시작한다. sudo systemctl restart redis-server 4. redis를 접속하기 위해 redis-cli -h x.x.x.x(레디스 서버 ip) -p 6379(레디스 서버 포트) -a password 2021. 1. 11.
Redis 기본정리 5 Bitmap Bitmap은 데이터 타입이 아니지만 비트 기반 문자열의 set이다. 비트 연산은 상수 시간의 single bit 연산과 값이나 비트 그룹을 위한 연산으로 나뉜다. 비트맵의 가장 큰 장점은 데이터를 저장하는 공간을 줄일 수 있는 것이다. SETBIT/GETBIT 명령어로 각각 set,get 할 수 있다. SETBIT의 첫번째 인자는 비트 넘버, 두번째 인자는 비트(0 or 1)이다. GETBIT는 특정 인덱스의 비트값을 반환한다. 비트 범위 밖의 키는 언제나 0을 반환한다. BITOP - 비트수준의 연산자, AND/OR/XOR/NOT을 사용할 수 있다. BITCOUNT - 값이 1인 비트의 갯수 BITPOS - 0 혹은 1의 특정 비트값중 가장 처음 나오는 비트를 반환한다. 주로 실시간 분석.. 2021. 1. 8.
Redis 기본정리 4 Redis Sorted sets Sorted set은 Set, Hash와 비슷하다. 셋처럼 unique 하고, non-repeating string 원소들이다. set에서는 정렬되어 있지 않지만 sorted set에서는 모든 원소는 부동소수점 값에 연관되어 정렬되어 있다(모든 원소들이 어떤 값으로 매핑되어 있기 때문에 Hash와도 비슷하다). 원소들은 순서를 가지고 있고 그 순서를 정하는 규칙은 1. A와 B가 서로 다른 score를 가지고 있을때 A.score > B.score이면 A > B이다. 2. A와 B가 같은 score를 갖고 있을 때 사전 순서에 따라 먼저나오는것 > 나중에 나오는 것 순서로 정해진다. sorted set에서 각 원소들은 unique 하기 때문에 A와 B는 같을 수 없다. Z.. 2021. 1. 8.
Redis 기본 정리3 Redis Hashes Redis hashes look exactly how one might expect a "hash" to look, with field-value pairs HMSET으로 여러 필드의 해쉬를 set 할 수 있고, HGET은 하나의 필드만, HMGET은 값의 배열을 반환한다. 필드의 각 값을 수정하는 것도 가능하다. Redis Sets strings의 순서 없는 컬렉션이다. SADD 명령어로 set에 명령어를 추가할 수 있다. 해당 키가 이미 존재하면 추가한다. 위의 예제에서는 순서대로 반환됐지만 매 호출에 대해 순서 없이 반환한다. "3"은 myset의 멤버가 맞지만 "30"은 아니다. Sets은 오브젝트들간의 관계를 표현하기 좋다. 모든 오브젝트에 원하는 태그를 달아서 사용할 수.. 2021. 1. 8.
Redis 기본정리 2 Redis Lists 일반적인 배열과 달리 Linked List를 사용한다. 새로운 원소가 추가되면 리스트의 시작부분이나 끝부분에 추가하게되고 O(1)의 복잡도를 갖는다. 일반적인 배열은 index를 통해 매우 빠르게 접근할 수 있지만 linked list기반의 Redis list에서는 느리다. 데이터베이스에서 아주 긴 리스트에 원소들을 빠르게 추가하기 위해 linked list를 사용한다. 만약 큰 컬렉션의 임의의 원소에 접근하려면 Sorted set을 쓰는것이 더 낫다. LPUSH/RPUSH 명령어로 각각 리스트의 앞, 뒤에 원소를 추가할 수 있다. LRANGE 명령어로 해당 리스트의 특정 범위에 해당하는 원소들을 반환 시킬 수 있다. LRANGE는 2개의 인덱스와 함께 호출하며 첫번째 호출된 인덱스.. 2021. 1. 7.
Redis 기본 정리 Debian - Raspbian sudo apt-get install redis-server redis-cli Redis 는 key-value 타입을 저장하는 것이 아닌 data structure 서버이다. 때문에 Redis는 다양한 값들을 저장할 수 있다. Binary-safe strings Lists - 삽입 순서에 따라 정렬되어있는 string 원소들의 컬렉션, linked-lists Sets - 정렬되지 않았지만 유일한 키를 가짐 Sorted sets - Sets과 비슷하지만 모든 원소들이 정렬되어 있다. Hashes - 연관된 값을 가진 필드, 필드와 값은 모두 strings, 루비나 파이썬의 hashes와 비슷 Bit array(bitmaps) - 비트의 배열을 string 값처럼 다룰수 있다.. 2021. 1. 7.