콘텐츠로 이동

2024 09 19

2024-09-19

Redis Hashes

참고: https://redis.io/docs/latest/commands/hmset/ 참고: https://redis.io/docs/latest/commands/hmget/ 참고: https://blog.naver.com/wideeyed/221428664697 참고: https://redis.io/docs/latest/develop/data-types/

  • 레디스의 자료구조 (다양함)
    • String: sequence of bytes
    • Lists: sorted by insertion order
    • Sets: unordered collections of unique strings (Java HashSet)
    • Hashes: field-value pairs (Java HashMap)
    • Sorted Sets: maintain order of each string
    • Stream: append-only log
    • Geospatial Index: Location
    • Bitmaps: bitwise operations
    • 기타...
      • JSON
      • Time series
  • Hashes
    • field-value pairs
      • Hash Key -> (KEY1)
        • Hash SubKey1 -> (Field1)
        • Hash SubKey2 -> (Field2)
    • 예시
      > HSET bike:1 model Deimos brand Ergonom type 'Endure bikes' price 4821
      (integer) 4
      > HGET bike:1 model
      "Deimos"
      > HGET bike:1 price
      "4821"
      > HGETALL bike:1
      1) "model"
      2) "Deimos"
      3) "brand"
      4) "Ergonom"
      5) "type"
      6) "Endure bikes"
      7) "price"
      8) "4821"
      > HMGET bike:1 model price no-no
      1) "Deimos"
      2) "4821"
      3) (nil)
      
  • hget
    • 입력한 해시 키 밑 지정한 필드값 가져옴. 없으면 nil 반환
  • hmget
    • 해시에 저장된 특정 키에 따른 필드와 연관된 값들을 반환
      • 해시에 저장된 필드가 아니다 -> nil 반환
        redis > HSET myhash field1 "Hello"
        (integer) 1
        redis > HSET myhash field2 "World"
        (integer) 1
        redis > HMGET myhash field1 field2 nofield
        1) "Hello"
        2) "World"
        3) (nil)
        redis >
        
  • hmset
    • deprecated -> hset으로 대체 가능! (위의 예시처럼)

Redis pub/sub