database

해당 글은 개인적인 경험과 학습을 바탕으로 작성된 내용으로, 일부 내용이 다소 부족하거나 잘못된 부분이 있을 수 있습니다. 잘못된 점의 피드백을 주시면 배우고 성장하겠습니다! 경매 플랫폼 프로젝트 개발을 진행하는 과정에서, 경매 방식에 대한 요구사항이 변경되었습니다. 이를 해결하기 위해 Redis의 Key Event Notification 기능을 활용하게 되었고, 이번 글에서는 이 경험을 정리하고 회고해보려 합니다. (redis keyspace notification 사용법만 보시려면 트러블 슈팅을 뛰어넘어 가셔도 됩니다!)트러블 슈팅변경된 요구 사항요구사항 변경 전에는 경매가 비공개 입찰 방식으로 진행되었습니다. 입찰자들은 경매 진행 시간 동안 비공개로 입찰을 제출하며, 경매 마감 시점에 가장 높은 입..
Redis📌 Redis(Remote Dictionary Server)"key-value" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다.데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스이다.📌 NoSQL(Not Only SQL)key-value 형태로 저장하는 데이터베이스 비관계형 데이터 모델을 통해 데이터를 유연하게 저장할 수 있어 쿼리 없이도 쉽게 접근 가능하다.Redis 장점in-memoryRedis는 in-memory에 모든 데이터를 저장한다. 때문에 데이터 처리 성능이 굉장히 빠르다.MySQL과 같은 RDBMS의 데이터베이스는 대부분 디스크(Disk)에 데이터를 저장한다. 하지만 Redis는 메모리(RAM)에 데이터를 저장..
· database
컨테이너 접속docker exec -i -t {컨테이너이름} bash Mysql 루트 접속bash-4.4# mysql -u root -p 데이터베이스 확인 후 생성데이터 베이스 확인show databases;데이터베이스 생성create database {database이름}; 유저 생성유저 확인mysql> use mysql;mysql> select host, user from user; 유저 생성mysql> create user '{유저이름}'@'localhost' identified by '{유저패스워드}';mysql> create user '{유저이름}'@'%' identified by '{유저패스워드}';유저 권한 부여권한 확인mysql> show grants for {유저이름}@'localhost..
오류 내용Factory method 'redisson' threw exception with message: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException 확인하기먼저 intelliJ - Database를 이용해 redis test connection을 확인해주었다.아래 설정 파일에서 해당부분을 설정해주었다.여기서 test connection이 성공한 host와 port가 일치한지 확인 해주었다.@Configuration@EnableRedisRepositoriespublic class RedisConfig { @Value("${spring.data.redis.host}") private Stri..
· database
WHERE 과 HAVING 데이터베이스 쿼리에서 WHERE과 HAVING은 데이터를 필터링하는 데 사용되는 주요한 문법이다. 그러나 둘 사이에는 차이점이 있다. 이 글에서는 WHERE과 HAVING의 차이를 설명하고, 각각의 사용 방법과 주의할 점에 대해 알아보도록 할 것이다. WHERE WHERE 절은 FROM 뒤에 위치하여, SELECT 하는 레코드에 대한 조건을 정의하는 역할을 한다. 데이터베이스 테이블의 행을 필터링하는 데 사용된다. (검색 조건을 지정하여 특정 행을 선택) 예시 SELECT * FROM Orders WHERE CustomerID = 'QUICK'; WHERE 절에서는 그룹화된 결과에 대한 조건을 지정할 수 없다. HAVING HAVING 절은 GROUP BY 절 뒤에 위치하여, ..
WSL(Windows Subsystem for Linux)wsl --install윈도우에서 리눅스 환경처럼 Powershell을 Bash 처럼 사용할 수 있게 해주며 Linux 명령어(sed, awk, vim, apt 등)와 커널을 이용할 수 있게 해준다. 설치 및 실행https://redis.io/docs/install/install-redis/install-redis-on-windows/ Install Redis on WindowsUse Redis on Windows for developmentredis.io문서에 확인하면 설치와 실행하는 방법이 나온다. 설치curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyr..
A중에서 영어 제목이 없는 경우 한글 제목으로 보여주세요 위와 같은 상황의 포인트는 "없는 경우"라 볼 수 있다. 이런 상황에서 쓸 수 있는 방법을 알아보려 합니다. IFNULL IFNULL() 함수는 주로 SQL 데이터베이스에서 사용되는 함수 중 하나로, 특히 MySQL에서 사용되는 함수입니다. 일반적인 구문은 다음과 같습니다: IFNULL(expr1, expr2) expr1: 첫 번째 표현식 또는 컬럼. 이 값이 NULL이면 대체값으로 expr2가 반환됩니다. expr2: 두 번째 표현식 또는 컬럼. expr1이 NULL이 아닌 경우 이 값이 반환됩니다. 첫 번째 인자(expr1)가 NULL인 경우 두 번째 인자(expr2)를 반환하고, 그렇지 않으면 첫 번째 인자를 반환합니다. 즉, NULL 값을 ..
in() 함수에서 null끼리의 비교는 어떻게 할 것인지를 알아보려합니다. 테이블 세팅 테이블 생성 Create table member ( id varchar(20), name varchar(20) ) ; 예시값 입력 insert into member (id, name) values ('1',null),('2','나'),('3','다'),('4', '라'); IN() 확인 결과값 확인 select * from member where name in(null, '나'); NOT IN() 확인 결과값 확인 select * from member where name not in(null, '나'); 아무 결과도 나타나지 않음을 알 수 있습니다. 왜 그럴까? IN() 먼저 IN()함수는 Equal(=)조건과 OR연..
je-pa
'database' 카테고리의 글 목록