Redis는 캐시, 메시지 큐, 카운터 및 기타 시나리오에서 일반적으로 사용되는 오픈 소스 고성능 키-값 스토리지 시스템입니다. 간결하고 효율적인 스크립팅 언어인 Python은 웹 백그라운드 처리, 데이터 분석 및 마이닝, 기계 학습, 인공 지능 및 기타 분야에서도 널리 사용됩니다. 이 기사에서는 Redis 설치, Python Redis 클라이언트 모듈 사용 및 특정 적용 사례를 포함하여 Python에서 Redis를 적용하는 방법에 대해 설명합니다.
1. Redis 설치
$ tar xzf redis-5.0.3.tar.gz
$ cd redis-5.0.3
$ make
$ src/redis-server
$ src/redis-cli
127.0.0.1:6379> SET mykey "Hello Redis"
OK
127.0.0.1:6379> Hello Redis"
rds = redis.Redis(host='localhost', port=6379, db=0)
name = rds.get('name')
print(name) # 출력: b'Alice'
pipe.set('key1', 'value1')
pipe.set('key2', 'value2')
pipe.set('key3', 'value3 ' )
pipe.execute()
pubsub = rds.pubsub()
pubsub.subscribe('channel')
rds.publish('channel', 'Hello')
time.sleep(1) # 1초 동안 기다립니다.
msg = pubsub.get_message()
print(msg) # 출력: {'type': 'message', 'channel': b'channel', 'data': b'Hello'}
import redis
class Cache:
def __init__(self): self.rds = redis.Redis(host='localhost', port=6379, db=0) def get(self, key): val = self.rds.get(key) if val: return val.decode() return None def set(self, key, val, ttl=60): self.rds.set(key, val, ex=ttl)cache = Cache()
val = 캐시.get('key')
val이 아닌 경우:
# 从数据库中查询数据 val = 'value' cache.set('key', val, ttl=60)print(val)where Cache 클래스 Redis 캐시 구현을 캡슐화하고 get 및 set 메서드를 사용하여 캐시 데이터를 얻거나 설정합니다. 데이터를 가져오기 전에 캐시를 쿼리합니다. 캐시에 데이터가 없으면 데이터베이스에서 데이터를 읽고 캐시합니다.
import redis
class Lock:
def __init__(self): self.rds = redis.Redis(host='localhost', port=6379, db=0) self.locked = False def acquire(self, lockname, ttl=60): identifier = str(time.time()) self.locked = self.rds.setnx(lockname, identifier) if self.locked: self.rds.expire(lockname, ttl) return self.locked def release(self, lockname): if self.locked: self.rds.delete(lockname)lock = Lock()
if lock.acquire('mylock'):
# 处理业务逻辑... lock.release('mylock')Lock 클래스는 획득 및 획득을 사용하여 분산 잠금 구현을 캡슐화합니다. release 메소드는 잠금을 획득하거나 해제할 수 있습니다. 잠금을 획득할 때 잠금이 이미 사용 중인 경우 False를 반환하고, 잠금이 사용되지 않은 경우 잠금을 획득하고 만료 시간을 설정합니다. 요약하자면 Redis는 Python에서 널리 사용되며 캐시, 분산 잠금, 메시지 대기열, 카운터 및 기타 시나리오에서 사용할 수 있습니다. Python Redis 클라이언트 라이브러리는 편리한 데이터 작업을 위해 간단하고 사용하기 쉬운 API도 제공합니다.
위 내용은 Python에서 Redis 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!