본문 바로가기

Computer Science7

[Redis] Redis의 자료구조 Redis 레디스는 아래 링크한 이전 게시물에서 간단하게 설명했듯이 NoSQL의 일종이며 In-memory에 저장되므로 굉장히 다양한 자료구조를 지원한다. 이번에는 각 자료구조들에 대해서 알아보도록 하겠다. String String은 이름 그대로 단순히 String을 저장하는 방식으로 Key/Value 형식으로 값이 저장된다. my-redis:6379> set test 10 my-redis:6379> get test "10" Set(집합) Set은 자바에서 Set과 거의 동일하다고 볼 수 있다. 데이터를 중복해서 저장하지 않고 정렬을 하지 않는다. my-redis:6379> sadd testSet test (integer) 1 my-redis:6379> sadd testSet test (integer) .. 2022. 10. 3.
Cache Server 정리 1. Cache란? 캐시는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. - 위키백과 - 위키 백과에 정의 되어 있듯이 컴퓨터 과학에서 임시 저장소를 가르킨다. 우리가 컴퓨터 과학을 처음 배울때 먼저 접하는 캐시는 하드웨어에서 사용하는 Cache이다. 아래 계층으로 내려갈수록 가격은 비싸지고 성능이 하락한다. 하드웨어에서는 CPU - MEMORY - HDD(SDD) 각 계층간의 속도 차이에 따른 병목 구간을 줄이기 위해서 사용된다. 캐시를 일반적으로는 자주 빈번하게 사용될 "확률"이 높은 데이터를 저장하여 사용한다. 캐시에는 자주 사용할 ".. 2022. 8. 24.
세션에 관하여 세션이란? 세션(session)은 컴퓨터 과학에서, 특히 네트워크 분야에서 반영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결상태를 의미하는 보안적인 다이얼로그(dialogue) 및 시간대를 가리킨다. 따라서 세션은 연결상태를 유지하는 것보다 연결상태의 안정성을 더 중요시 하게 된다. 세션 수립은 연결 지향 통신을 수행하는데 기초적인 요구 사항이다. 또, 세션은 무접속 방식으로 전송하는 기본 단계이기도 하다. 그러나 단일 지향성 전송은 세션을 정의하지 않는다. https://ko.wikipedia.org/wiki/%EC%84%B8%EC%85%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99) [세션 (컴퓨.. 2022. 8. 21.
동빈북 7장 내용정리 이진탐색(Binary Search) 이진탐색은 영어로는 Binary Search이다. 일반적으로 탐색할 때는 순서대로 탐색하는 순차 탐색 말그대로 순서대로 탐색하는 것이다. 그러나 이 방식은 찾는 데이터가 자료구조의 가장 끝부분에 들어가 있다면 이상황이 최악의 탐색상황이므로 O(N)의 시간 복잡도를 나타낸다. 이제 이거를 어떻게 효율적으로 탐색할 수 있는지에 대한 아이디어에서 나온것이 바로 이분탐색(이진탐색,Binary Search)이다. 만약 배열의 요소가 int[] list = {1,5,7,10,11,14,17,20,64,100}; 라고 가정해보자. 만약에 찾고자 하는 key값이 100이라면 순차탐색을 하게되면 접근하는 요소의 순서가 1,5,7,10,11,14,17,20,64,100 순서로 총 10번을 방문하게 된다.(key값이 없더라.. 2020. 11. 13.