redis (3) 자료구조
셋 set (중복을 허용하지 않는 집합)
합집합, 교집합 , 차집합
채널을 구독할때 중복 구독되지 않도록 할때 유용
sadd
sinter
srem
추가가 되면 1 이 되고 이미 추가가 되어 있다면 0이 된다
이때 키는 faker:gudok 이 되고 abc가 member 가 된다
sinter 로 faker:gudok 키를 통해 읽어오면 member 인 abc 를 얻어올 수 있다
abc1 과 abc2 를 추가한뒤 sinter 로 값을 보면 정렬되어 있진 않고 중복 없는 값이 들어간걸 알 수 있다
삭제는 srem 으로 삭제 할수 있다
정렬된 Set
zadd, zrange 로 다음 처럼 정렬된 랭킹 정보를 구할 수도 있다
zadd 할때 중간에 숫자를 꼭 넣어줘야 한다, 이 숫자로 정렬된다
127.0.0.1:6379> zadd test:ranking 300 book
(integer) 1
127.0.0.1:6379> zadd test:ranking 200 store
(integer) 1
127.0.0.1:6379> zadd test:ranking 700 board
(integer) 1
127.0.0.1:6379> zrange test:ranking 0 10
1) "store"
2) "book"
3) "board"
127.0.0.1:6379>
숫자값에의해 정렬된것을 알 수 있다
리트스의 경우
lpush, rpush, lrange, lpop, rpop 등의 명령어가 있고
lrange key 0 -1 을 쓰면 전체 리스트 내용을 볼 수 있다
해시 (해시 기반)
hset : 다음 순으로 데이터를 넣게 된다
key 는 전체 카테고리 key 이고 field 와 value 가 <key, value> 가 된다
hget
hlen : 개수가 몇개인지
hdel : 삭제
hgetall : 모든데이터 보기
다음은 한번에 다른 필드로 여러 항목을 추갛 ㅏ는 방식을 보여준다
REF :