Redis의 CRUD 작업을 Python에서 수행
소개
Welcome to redis-py’s documentation!
The full list of commands
환경 구축
Docker 사용
docker run --name some-redis -d --rm -p 6379:6379 redis:5.0.0
Python 클라이언트 설치
# condaでインストール
conda install redis
# pipでインストール
pip install redis
docker run --name some-redis -d --rm -p 6379:6379 redis:5.0.0
# condaでインストール
conda install redis
# pipでインストール
pip install redis
redis-py Document
The full list of commands
기본 개념
CRUD 조작
라이브러리 읽기/연결
import redis
# 接続
r = redis.StrictRedis(host='yourhost', port=6379, db=0)
※커넥션 풀 사용하면 2배 빠르다
문자열
import redis
# 接続
r = redis.StrictRedis(host='yourhost', port=6379, db=0)
Create
# Keyに対してValueを追加
r.set('Key01', 'Value01')
r.set('Key02', 'Value02')
읽기
# Key01のValueを読み出す
r.get('Key01')
업데이트
# Keyを指定してValueを更新
r.set('Key02', 'Value02_upd')
Delete
# Keyの削除
r.delete('Key01','Key02')
Lists
Create
# KeyList01というKeyに対してリスト作成 > [Value01]
r.rpush('KeyLists01', 'Value01')
# Key01リスト右側にValueを追加 > [Value01,Value02,Value03]
r.rpush('KeyLists01', 'Value02')
r.rpush('KeyLists01', 'Value03')
# Key01リスト左側にValueを追加 > [Value00,Value01,Value02,Value03]
r.lpush('KeyLists01','Value00')
# ループでValueを追加
for i in ['A','B','C','D','E']:
r.rpush('KeyLists01','Value' + i)
읽기
# 左から範囲指定しValueを表示
# lrange(Key,Start,End) ※Endは含まれる
r.lrange('KeyLists01',0,r.llen('Key01'))
업데이트
# KeyとindexでValueを更新する
r.lset('KeyLists01',1,'Value01_upd')
Delete
# 右から1要素削除し、削除対象のValueを戻り値とする
pop = r.rpop('KeyLists01')
print(pop) # > ValueE
# 左から1要素削除
pop = r.lpop('KeyLists01')
print(pop) # > Value00
Sets
Create/Update
# 1番目の引数にKeyを指定し、2番目以降にMemberを指定
r.sadd('KeySets01', 'A','B','C','D')
r.sadd('KeySets01', 'D') # 重複なので追加されない(戻り値 0)
r.sadd('KeySets01', 'E') # 追加される(戻り値 1)
읽기
# Key内のMemberを確認
r.smembers('KeySets01')
Delete
# KeyとMemberで削除
r.srem('KeySets01','A')
Calculate
# 計算用データ登録
r.sadd('KeySets02','C','D','E','F')
# 和集合
r.sunion('KeySets01','KeySets02')
# 積集合
r.sinter('KeySets01','KeySets02')
# 差集合
r.sdiff('KeySets01','KeySets02')
Hashes
Create
# Key,Field,Valueの3構造のデータ
r.hset("lv0", "lv1_1", "lv2_1")
r.hset("lv0", "lv1_2", "lv2_2")
r.hset("lv0", "lv1_3", "lv2_3")
r.hset("lv0", "lv1_4", "lv2_4")
읽기
# Key,Fieldを指定してValueを取得する
r.hget('lv0', 'lv1_3')
# Keyでデータを取得する
r.hgetall("lv0")
업데이트
# Key,Fieldを指定してValueを更新
r.hset("lv0", "lv1_3", "update_lv2_3")
# r.hget('lv0', 'lv1_3') > b'update_lv2_3'
Delete
# Key,Fieldで削除
r.hdel('lv0','lv1_3')
OTHER
DROP
# CurrentDBの全てのキーを削除
r.flushdb()
# 全てのDBの全てのキーを削除
r.flushall()
키스
# どのデータ型でもKeyで削除できる
r.delete(Key)
# Key一覧
r.keys()
# Keyに格納されたデータ型表示
r.type(Key)
# Keyに格納されたデータ型表示全量
for i in r.keys():
print(i,r.type(i))
Reference
이 문제에 관하여(Redis의 CRUD 작업을 Python에서 수행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MarketingTech/items/9997d077f7f76dbc4208텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)