Database/Redis
[Redis] 동시성 제어
[Redis] 동시성 제어
2024.05.25Redis는 캐시 저장소로 사용되지만.. 일단 "데이터베이스" 이니 일관성, 동시성, 신뢰성을 보장하기 위해 트랜잭션을 지원한다. await isolatedClient.watch(itemsKey(attrs.itemId));return isolatedClient .multi() .rPush(bidHistoryKey(attrs.itemId), serialized) .hSet(itemsKey(item.id), { bids:item.bids + 1, price: attrs.amount, highestBidUserId: attrs.userId }) .zAdd(itemsByPriceKey(), { value: item.id, ..
[Redis] 파이프라인과 자료구조
[Redis] 파이프라인과 자료구조
2024.05.15자바, 파이썬, 자바스크립트 등 백엔드를 구축할 때 사용되는 다양한 프로그래밍 언어와 프레임워크 수준에서 Redis를 사용할 수 있도록 지원하는 라이브러리를 제공한다. 자바는 Jedis 라이브러리로 Redis를 사용하는 직관적인 API를 제공하고, 스프링 프레임워크는 Spring Data Redis 라이브러리를 사용해 스프링에서 Redis를 더 쉽게 다룰 수 있다. 이 라이브러리들은 내부적으로 Redis 명령어를 사용해 Redis 서버와 상호작용하니.. Redis의 명령어 구성을 추상화하고 프로그래밍 언어와 프레임워크의 특성에 맞춘 직관적인 API를 제공한다고 생각하면 된다. const cacheRoutes = [ '/about', '/privacy', '/auth/signin', '/auth/..
[Redis] 캐시 서버와 명령어
[Redis] 캐시 서버와 명령어
2024.04.27Redis는 다른 데이터베이스들과 마찬가지로 데이터를 저장하고 쿼리를 통해 데이터를 가져올 수 있는 데이터베이스지만, Redis의 몇 가지 특징 덕분에 다른 데이터베이스들보다 속도가 빠르다. 기본적으로 많은 DBMS는 데이터를 HDD나 SSD에 저장해 데이터의 영속성을 보장한다.반면 Redis는 데이터를 RAM에 저장해 HDD나 SSD에 데이터를 저장할 때 보다 읽기 및 쓰기 작업을 훨씬 빠르게 수행할 수 있다. 이 외에도 다른 DBMS와는 다르게 Redis는 스키마 대신 key-value 쌍으로 데이터를 저장하고 각 key에 대해 여러 자료구조를 선택해서 사용할 수 있는 등 여러 차별화된 특징을 가지고, 이 특징 덕분에 높은 성능을 보장한다. Redis에서는 문자열인 키..