728x90

All 193

Redis 란?_ Automatic creation and removal of keys

개요 지금까지 예제에서 요소를 푸시하기 전에 빈 목록을 만들거나 내부에 더 이상 요소가 없을 때 빈 목록을 제거할 필요가 없었습니다. 목록이 비어 있을 때 키를 삭제하거나 키가 존재하지 않고 예를 들어 LPUSH를 사용하여 요소를 추가하려는 경우 빈 목록을 만드는 것은 Redis의 책임입니다. 이는 목록에만 국한되지 않고 여러 요소(스트림, 세트, 정렬된 세트 및 해시)로 구성된 모든 Redis 데이터 유형에 적용됩니다. 기본적으로 세 가지 규칙으로 동작을 요약할 수 있습니다. 집계 데이터 유형에 요소를 추가할 때 대상 키가 없으면 요소를 추가하기 전에 빈 집계 데이터 유형이 생성됩니다. 집계 데이터 유형에서 요소를 제거할 때 값이 비어 있으면 키가 자동으로 폐기됩니다. 스트림 데이터 유형은 이 규칙의 ..

DB 2023.04.16

Redis 란?_명령어_brpop

개요 이글을 보다가 좀더 기초 문법을 알고 싶다면 (기초 명령어)[https://donghokim.tistory.com/97]를 확인 하면 좋습니다. 이전 글 마지막 분석 목록에는 큐를 구현하는 데 적합하고 일반적으로 프로세스 간 통신 시스템의 구성 요소인 차단 작업에 적합한 특수 기능이 있습니다. 하나의 프로세스로 항목을 목록에 푸시하고 해당 항목에 대해 실제로 일종의 작업을 수행하기 위해 다른 프로세스를 사용한다고 상상해 보십시오. 이것은 일반적인 생산자/소비자 설정이며 다음과 같은 간단한 방법으로 구현할 수 있습니다. 목록에 항목을 푸시하기 위해 생산자는 LPUSH를 호출합니다. 목록에서 항목을 추출/처리하기 위해 소비자는 RPOP을 호출합니다. 그러나 때로는 목록이 비어 있고 처리할 것이 없기 때..

DB 2023.04.16

Redis 란?_명령어_기초

개요 Redis를 개발에 적용하기 전에 어떤 명령어가 있는지 알아야지 서버에 적용 시킬수 있다. 이를 위해 기본 명령어를 정리 하였습니다. 명령어 set key value 같은 key가 이미 존재 하면 덮어 씌어 진다. set key value nx 같은 키가 존재 하면 update 되지 않는다. set key value xx 같은 키가 존재 하면 update 된다.(default) get key incr key value가 Integer일 경우 +1 한다. incrby key 50 value가 Integer일 경우 +50 한다. decr key value가 Integer일 경우 -1 한다. decrby key 50 value가 Integer일 경우 -50 한다. mset a 10 b 20 c 30 여러..

DB 2023.04.16

Redis 란?_Key/value 규칙

개요 Redis는 Key/Value 형식이다 보니 Key에서도 일정한 규칙을 가지고 사용을 합니다. 물론 다른 DB도 일정한 규칙이 있지만 Redis에서 사용하면 좋은 규칙을 권장 하고 있습니다. Key Redis 키는 바이너리 안전합니다. "foo"와 같은 문자열에서 JPEG 파일의 콘텐츠에 이르기까지 모든 바이너리 시퀀스를 키로 사용할 수 있습니다. 빈 문자열도 유효한 키입니다. Key 규칙 매우 긴 키는 좋은 생각이 아닙니다. 예를 들어 1024바이트의 키는 메모리 측면에서 뿐만 아니라 데이터 세트에서 키를 조회하려면 비용이 많이 드는 몇 가지 키 비교가 필요할 수 있기 때문에 좋지 않습니다. 당면한 작업이 큰 값의 존재를 일치시키는 것일지라도 이를 해싱(예: SHA1 사용)하는 것이 특히 메모리와..

DB 2023.04.16

Redis 란?_기본 정보

개요 내가 아는 Redis특징은 Redis를 Key - Value 형식이다. 속도가 매우 빠르다 Queue와 같은 특징을 가졌다 정도로만 알고있다. 하지만 이 정도만 알고 Redis를 바로 개발에 적용하기에 부족한 지식이 많다. 내가 아는 지식에도 틀린 정보도 있을수도 있고 비슷하게 이해 하고 있는 지식도 있기 때문이다. 그래서 기본적인 Redis 정보를 정리 할려고 한다. 참고 (Redis Document)[https://redis.io/docs/] (Redis 명령어)[https://redis.io/commands/] (https://sudo-minz.tistory.com/101)[https://sudo-minz.tistory.com/101]%5Bhttps://sudo-minz.tistory.com/..

DB 2023.04.16

Show JPA Query Log

개요개념적인 내용은 다른 블로그를 참고 하시는게 좋을거 같습니다.Mybatis에서 개발을 할 때 log4jdbc-log4j2-jdbc4.1 설정을 하여 쿼리문을 확인한다.그러면 select * from temp where id = 1이런식으로 출력이 된다.하지만 JPA는 로그가 기본으로 설정 되어 있지만 select * from temp where id = ? -> 그 뒤에 ? 관한 정보가 뜬다.위와 같은 식으로 노출이 된다.이런 방식은 local에서 개발 할 때 가독성이 현저히 떨어진다.하나하나 대입 하거나 하는 정말 귀찮은 일이 발생한다.그래서 이번 게시글은 p6spy-spring-boot-starter를 사용하여 Mybatis와 같이 노출 되게 설정 할려고 한다.참고..

BackEnd/Spring Boot 2023.04.16

채팅 만들기_2(chatting_room)

개요 이전에 소켓을 사용한 채팅을 만들어 보았습니다. 이번 게시글에서는 STOMP를 사용한 채팅방 구성을 하였습니다. 사용자 로그인 및 인증은 사용하지 않았고 최초 방에 들어오면 date로 사용자 닉네임을 설정하여 테스트 하였습니다. 참고 채팅 방 있는 채팅 Terian의 IT 도전기 설명 현재 프로젝트 Terian의 IT 도전기 블로그를 참고 하여 정리 하였습니다. 개념 적으로 Terian의 IT 도전기를 참고 하는것을 추천 드리고 현재 게시글은 Terian의 IT 도전기의 기반으로 내가 필요한 코드만 뽑아서 사용 했기 때문에 Terian의 IT 도전기와 코드가 많이 다를 수 있습니다. 또한 View 개발을 위해 CSS를 작성하기 귀찮아 Bootstrap을 간단히 적용 하였습니다. STOMP란? 간단하..

BackEnd/Spring Boot 2023.04.16

채팅 만들기_1(basic)

개요 웹 개발을 하면서 꼭 해봐야 하지만 잘 안해보는 2가지 기술중 하나였습니다. 채팅은 심심치 않게 볼수있는데 웹 서비스 기술이였지만 내가 한 회사, 외부 프로젝트에서는 적용한 적이 없는 기술이였습니다. 그래서 이번에 어디서든 쉽게 적용 할수있게 프로젝트를 하나 만들어 봤습니다. 스펙 Spring Boot2.7.7 Java 17 jsp 사용 dependencies // Spring Boot Web Server Dependency implementation 'org.springframework.boot:spring-boot-starter-web' // Spring Web Socket implementation 'org.springframework.boot:spring-boot-sta..

BackEnd/Spring Boot 2023.04.16

NodeJs란?

Node.js 란? 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성언어로 JavaScript를 활용하며 Non-blocking(멈추지 않는다) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 Http 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작 하는것이 가능하며 이를 통한 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다. NODE.JS 특징 비동기 I/O 처리, 이벤트 위주 Node.js 라이브러리의 모든 API는 비동기식이다. Node.js 기반 서버는 API가 실행되었을때, 데이터를 반환할때까지 기다리지 않고 다음 API를 실행한다. 그리고 이전에 실행했던 API가 결과 값을 ..

ETC/NodeJs 2023.04.16
728x90