Hash 배열은 빠른 검색 속도를 가지고 있으나 삽입/삭제 시 많은 비용이 소모된다. 이를 극복한 LinkedList는 삽입/삭제의 비용이 적지만 데이터가 많아질수록 검색에 비용이 많이 든다. 해시는 이를 극복하기 위해 도입된 개념이다. 해시, 해시 함수(Hash Function)란 임의의 길이를 갖는 임의의 데이터를 받아 고정된 길이의 데이터를 리턴하는 단방향 함수를 말한다. 가장 쉬운 예로는 나머지 연산자(%)가 있을 수 있겠다. 해시 함수의 특징은 아래와 같으며, 비교적 간단한 알고리즘으로 시스템 자원을 덜 소모한다, 즉 해시값 생성에 많은 시간이 들지 않는다. 해시값을 해독할 때는 많은 시간이 든다. 같은 입력 값에 대해선 같은 출력 값이 보장되며, 출력 값은 고르게 분포한다. 입력값이 아주 조금..
지난 글에 적었듯이 레디스는 다양한 자료형을 지원한다. 해서 조금씩 공부하면서 현재 진행 중인 프로젝트의 캐싱이나 채팅방, 인증번호 저장 등을 모조리 레디스를 사용하도록 교체할 꿈을 꾸고 있는데, 바로 적용하려니 기본 연산이 잘 들어오지 않아 힘들었다. 따라서 이번 글은 레디스에서 지원하는 자료형의 연산과 기본 명령어 등을 연습하려고 한다. 먼저 스프링부트 프로젝트를 하나 생성해서 내장 레디스를 사용하기 위한 의존성을 추가한다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'it.ozimov:embedded-redis:0.7.2' } 나머지 의존성은 필요에 따라 추가하면 되겠다...
- Total
- Today
- Yesterday
- 리스트
- 지지
- 남미
- 유럽
- 자바
- 야경
- spring
- 칼이사
- 세계일주
- RX100M5
- BOJ
- 면접 준비
- 스프링
- 세계여행
- Backjoon
- 백준
- 여행
- 맛집
- 파이썬
- a6000
- 유럽여행
- 스트림
- 동적계획법
- 알고리즘
- Algorithm
- Python
- 중남미
- 세모
- 기술면접
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |