programing

redis-py : StrictRedis()와 Redis()의 차이점은 무엇입니까?

closeapi 2023. 7. 20. 21:56
반응형

redis-py : StrictRedis()와 Redis()의 차이점은 무엇입니까?

일부 데이터를 캐싱하는 데 redispy를 사용하고 싶지만 다음과 같은 차이점에 대한 적절한 설명을 찾을 수 없습니다.redis.StrictRedis()그리고.redis.Redis()그들은 동등합니까?

또한 다음에 대한 명확한 문서를 찾을 수 없습니다.redis.StrictRedis()Redis PythonDocs에 있는 의 인수입니다.감 잡히는 게 없어요?

편집: 이제 다음과 같습니다.

redis-py 3.0은 기존 "Redis" 클라이언트 클래스에 대한 지원을 중단합니다."StrictRedis"의 이름이 "Redis"로 변경되었으며 "StrictRedis"라는 별칭이 제공되어 이전에 "StrictRedis"를 사용하던 사용자가 변경되지 않고 계속 실행할 수 있습니다.

원답:이것은 꽤 분명해 보입니다.

 redis-py exposes two client classes that implement these commands
 The StrictRedis class attempts to adhere to the official command syntax.

그리고.

In addition to the changes above, the Redis class, a subclass of StrictRedis,
overrides several other commands to provide backwards compatibility with older
versions of redis-py

이전 버전과의 호환성이 필요합니까? 사용Redis상관 안 해요? 사용StrictRedis.


2017-03-31

다음은 github.com 링크에서 인용한 하위 호환성의 세부 사항입니다.

위의 변경 사항 외에도 StrictRedis의 하위 클래스인 Redis 클래스는 이전 버전의 Redis-py와 하위 호환성을 제공하기 위해 몇 가지 다른 명령을 재정의합니다.

LREM: 'num' 및 'value' 인수의 순서가 반대로 되어 'num'이 기본값 0을 제공할 수 있습니다.

ZADD: Redis는 'value' 앞에 'score' 인수를 지정합니다.구현할 때 실수로 교체되어 사용자가 이미 사용하고 있을 때까지 검색되지 않았습니다.Redis 클래스는 name1, score1, name2, score2, ... 형식의 *인수를 예상합니다.

SETEX: '시간' 및 '값' 인수의 순서가 반대입니다.


오래된 질문이지만 구글 검색 후 이 질문에 도달하는 사람은 누구나 해당됩니다.

redis-py readme(링크)에서:

redis-py 3.0은 기존 "Redis" 클라이언트 클래스에 대한 지원을 중단합니다."StrictRedis"의 이름이 "Redis"로 변경되었으며 "StrictRedis"라는 별칭이 제공되어 이전에 "StrictRedis"를 사용하던 사용자가 변경되지 않고 계속 실행할 수 있습니다.

여기에 다음을 정의하는 redispy 코드의 라인이 있습니다.StrictRedis(link):

StrictRedis = Redis

언급URL : https://stackoverflow.com/questions/19021765/redis-py-whats-the-difference-between-strictredis-and-redis

반응형