Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

안녕 redis-py, It's Be a Minute

redis-py 4.1.0 출시!

Redis에 대한 Python 지원은 10년 넘게 증가하여 매주 100만 건 이상의 다운로드에 도달했으며 최신 릴리스인 redis-py 4.1.0을 발표하게 된 것을 자랑스럽게 생각합니다!

이 릴리스는 Redis 6.2에서 Redis 명령을 완벽하게 지원하는 것과 거의 같은 거리에 있습니다. 기존 명령의 누락된 옵션에 대한 지원, Sentinel 연결에 대한 SSL 지원을 추가했으며 일반적으로 개발자 경험을 개선했습니다. 또한 Python 3.6 및 Python 3.10 지원에 중점을 두는 것과 같은 큰 구조적 변화를 가져옵니다. Redis 명령을 더 쉽게 찾을 수 있도록 클라이언트 문서를 수정하고 모든 사람이 참여할 수 있도록 독려했습니다! 더 중요한 것은 중단을 최소화하여 호환성 문제 없이 업그레이드할 수 있다는 것입니다.

최신 Redis 명령 지원

Redis 6.2는 엄청난 양의 새로운 Redis 명령을 제공하며 이제 Python과 함께 사용하기가 그 어느 때보다 쉬워졌습니다. GETEX를 사용하여 단일 명령으로 데이터를 더 쉽게 가져오고 만료를 업데이트하는 것부터 CLIENT INFO 및 CLIENT KILL redis-py 4.1.0을 사용하여 클라이언트 연결을 끊고 Redis 인스턴스를 관리하는 것까지 다룹니다. redis-py 4.1.0에 추가된 30개 이상의 명령 중 아래 두 가지 예를 살펴보겠습니다!

### GETEX
import redis
r = redis.Redis()
r.set('somekey', 'hello')
r.getex('somekey', ex=15) # returns 'Hello'
r.ttl('somekey') # returns 15
​
​
### CLIENT INFO AND KILL
import redis
r = redis.Redis()
r2 = redis.Redis()
r.client_setname('redis-py-c1')
r2.client_setname('redis-py-c2')
​
clients = [client for client in r.client_list()
                   if client.get('name') in ['redis-py-c1', 'redis-py-c2']]
clients_by_name = dict([(client.get('name'), client)
                                for client in clients])
r.client_kill_filter(laddr=clients_by_name['redis-py-c2'].get('laddr'))

최고의 Redis 모듈 지원

redis-py 4.0은 Redis 모듈에 대한 최고 수준의 지원을 가져온 Python 라이브러리의 첫 번째 버전입니다. redis-py 4.1.0 릴리스로 RedisJSON, RediSearch, RedisTimeSeries, RedisGraph 및 RedisBloom을 지원합니다. 맞습니다. JSON 데이터를 Redis에 쉽게 저장할 수 있습니다! 당신은 그것을 조작할 수 있습니다 – 당신은 그것을 검색할 수도 있습니다! Redis에 JSON 데이터를 저장하면 새로운 데이터 유형이 저장된다는 점을 기억하세요. 따라서 이를 조작하려면 JSON 관련 명령어를 사용해야 합니다. 다음은 몇 가지 예입니다.

### STORING and RETRIEVING JSON
​
import redis
r = redis.Redis()
myDoc = {'hello', 'world', 'colours': ['red', 'blue', 'green'], 'hmm': {'hello': 'again'}}
r.json().set('colors', '$', myDoc)
r.json().get('colors')

위의 myDoc과 같은 문서는 어떻습니까? 문서의 일부를 쿼리하여 여러 키를 가져올 수 있다는 사실을 알고 계셨습니까?

### FETCHING ALL KEYS NAMED “hello” from the JSON document
r.json().get('colors', '$..hello')

문서 기능을 위해 RedisJSON과 RediSearch를 결합하거나 맞춤형 Redis 모듈 지원을 추가할 수도 있습니다. 모든 것이 redis-py 4.0에 있습니다.

redis-py를 통한 Redis 클러스터 지원

redis-py 4.1.0은 두 가지 쉬운 연결 방법과 함께 redis-cluster 지원도 통합한다는 사실을 알고 계셨습니까? 독립 실행형 Redis 노드와 상호 작용하기 위한 동일한 훌륭한 경험이 이제 redis-py의 일부입니다.

### CONNECTING TO CLUSTER
from redis.cluster import RedisCluster
r = RedisCluster.from_url('redis://4.5.6.8:6379')
nodes = r.get_nodes()

SSL을 통해 클러스터에 연결하거나 클래스 초기화 기반 접근 방식을 선호하고 특정 노드를 대상으로 명령을 실행하고 싶을 수 있습니다. redis-py 4.1.0은 이러한 시나리오를 지원합니다!

### CONNECTING TO CLUSTER 2
from redis.cluster import RedisCluster
r = RedisCluster('4.5.6.8', port=6379, ssl=True)
r.ping(target_nodes='all')

다음은 무엇입니까?

작업은 완료되지 않았으며 우리는 전속력으로 전진하고 있습니다! 동일한 일급 경험으로 RedisAI와 같은 더 많은 모듈에 대한 지원을 추가할 것입니다. Redis 7에서 출시될 RESP3 기능에 대한 지원을 추가하고 코드 기반 속도를 높일 것입니다. 우리는 또한 redis-py에 기여하고 더 나은 작업을 할 수 있도록 개발자 도구를 개발하고 있습니다!