레디스

· TIL ✍️
상황레디스는 각각의 명령어들은 원자적으로 실행이 되지만, 비즈니스로직을 작성하다 보면 여러 명령어들을 한 번에 처리해야 하는 경우가 생긴다. 이를 위해, 레디스를 루아스크립트를 이용해서 여러 명령어를 원자적으로 처리할 수 있도록 지원하고 있다.레디스에서 LuaScript 사용하기 127.0.0.1:6379> eval "return 'Hello world!'" 0"Hello world!"레디스로 스크립트를 실행하는 명령어는 EVAL 이며, 그 다임 인수로 “…”를 감싸서 루아스크립트를 작성하면 된다. 또한 그 다음 인수로는 이후 입력될 KEY 개수이고, 키 개수만큼 입력한 다음의 인수로는 인수를 입력받는다. EVAL [ , ..., , ...]정리하면 위와 같이 입력할 수 있다. 또한 위의 예제에서 ..
· TIL ✍️
문제localhost:63790> subscribe home1) "subscribe"2) "home"3) (integer) 11) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"abcde\"}"1) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"\xed\x95\x98\xec\x9d\xb4\"}"1) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"\xea\xb0\x80\"}" 레디스로 pub/sub 테스트를 해보던 ..
· TIL ✍️
문제도커로 레디스를 띄울 때, 기존 데이터나 설정을 유지하고 싶었다. 해결 도커로 레디스를 띄울 때, 볼륨을 통해 저장 공간을 공유하고, redis.conf 라는 레디스 설정 파일도 공유하여 레디스 컨테이너를 띄울 때 데이터를 유지하도록 해결했다. 과정 우선 EC2 Ubuntu24.04 버전에 도커를 띄운 상황에서 설명하겠다.  sudo docker volume create redis-data우선 redis-data 라고 하는 볼륨을 만들어준다.  $ sudo docker volume inspect redis-data[ { "CreatedAt": "2024-08-05T20:43:25+09:00", "Driver": "local", "Labels": null, ..
@DisplayName("Hash 타입 테스트")@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)public class HashTypeTest { @Autowired RedisTemplate redisTemplate; HashOperations hashOperations; @BeforeEach void setUp() { hashOperations = redisTemplate.opsForHash(); redisTemplate.getConnectionFactory().getConnection().serverCommands().flushAll(); // 매 테스트 시 초기화..
무수한 에러를 만났다. 첫 부분만 보면,  org.springframework.data.redis.serializer.SerializationException: Cannot serializeCaused by: org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializerCaused by: java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [ex.ops.hash.HashClass]Failed..
yunjae62
'레디스' 태그의 글 목록