티스토리 뷰

1. redis 연결

import redis

# Redis 클라이언트 생성
r = redis.Redis(host='localhost', port=6379, db=0)

# 연결 테스트
print(r.ping())  # True가 출력되면 정상 연결

 

2. 문자열 데이터

1) 저장: set

r.set("mykey", "hello")

2) 조회: get

- get은 바이트 데이터를 반환해, decode("utf-8")로 문자열 변환

value = r.get("mykey")
print(value.decode("utf-8"))  # hello

3) 데이터 삭제: del

r.delete("mykey")

4) 만료 시간 설정: expire

r.set("temp", "temporary")
r.expire("temp", 10)  # temp 키를 10초 동안 유지 후 자동 삭제

5) 남은 만료 시간 확인: ttl

print(r.ttl("temp"))  # 남은 시간 출력

6) +1: incr

r.set("counter", 1)
r.incr("counter")  # 2로 증가
print(r.get("counter").decode("utf-8"))  # 2

7) -1: decr

r.decr("counter")  # 1로 감소
print(r.get("counter").decode("utf-8"))  # 1

 

3. 리스트

1) 앞에(왼쪽) 추가: lpush

2) 뒤에(오른쪽) 추가: rpush

r.lpush("mylist", "apple") # ["apple"]
r.lpush("mylist", "banana") # ["banana","apple"]
r.rpush("mylist", "cherry") # ["banana","apple", "cherry"]

3) 리스트 조회: lrange

print(r.lrange("mylist", 0, -1)) #인덱싱 처음부터 마지막(포함)까지
# [b'banana', b'apple', b'cherry']

4) 앞에(왼쪽)제거: lpop → 제거된걸 반환

5) 뒤에(오른쪽)제거: rpop  → 제거된걸 반환

print(r.lpop("mylist").decode("utf-8"))  # banana (왼쪽에서 제거)
print(r.rpop("mylist").decode("utf-8"))  # cherry (오른쪽에서 제거)

 

4. SET (중복 허용 안함)

1) 추가: sadd

r.sadd("myset", "apple")
r.sadd("myset", "banana")
r.sadd("myset", "apple")  # 중복 추가 안됨

2) 조회: smembers

print(r.smembers("myset"))  # {b'apple', b'banana'}

 

5. 해시(딕셔너리 형태)

1) 저장: hset

r.hset("user:1001", "name", "Alice")
r.hset("user:1001", "age", 25)

2) 특정 값 조회: hget

print(r.hget("user:1001", "name").decode("utf-8"))  # Alice

3) 전체 해시 조회:hgetall

print(r.hgetall("user:1001"))
# {b'name': b'Alice', b'age': b'25'}
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함