SSAFY 공통 프로젝트 기록_20240212

탱귤생귤·2024년 2월 13일
0

26일 차

오늘 한 것

  • OpenVidu 소그룹 세션 생성, 정보 get api 생성
    • 소그룹 생성 후 RDB가 아닌 Redis에 저장

어려웠던 점

  • 소그룹 리스트를 get할 때 redis에서 가져와야 하는데 key값이 있는지 boolean을 return해야하는 redisTemplate.hasKey(key) 메서드가 null을 출력함
    • 이유는 3가지이다.
      1. key 가 없음
      2. pipeline 사용 중인 상태
      3. 트랜잭션이 걸려있는 상태

새로 알게 된 점

  • 파이프라인이나 트랜잭션에서 redis 명령을 실행하면 명령의 결과가 즉시 반환되지 않고 커맨드 버퍼에 저장이 돼서 해당 값이 트랜잭션이 커밋되거나 롤백이 되야 해당 값이 반환되는데 트랜잭션이 진행중인 상태에서는 버퍼에 남아있어 아무 결과값이 없는 null이 나오는 것이라고 한다.
  • 나는 트랜잭션이 걸려있는 상태였다
@Bean
    public RedisTemplate<?, ?> redisTemplate(RedisConnectionFactory redisConnectionFactory) {

        RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
//        redisTemplate.setEnableTransactionSupport(true);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());

        return redisTemplate;
    }

내일 할 것

  • 프론트와 연결 후 오류 수정

0개의 댓글