redis 차트 기능 구현

3968 단어 redis차트
redis의 zset는 차트 기능을 실현하는 데 편리하게 사용할 수 있습니다. 다음은python이 어떻게 redis를 사용하여 차트 기능을 실현하는지 간단하게 소개합니다.

랭킹 가입


redis 실례 가져오기

import redis
main_rds = redis.StrictRedis(host='localhost',port=6379,db=0,password='')

전량 랭킹 가입


redis 패키지의 버전에 따라zadd와zincby의 전참 방식도 다르다는 것을 주의하세요
redis 3.0(python의 redis 패키지) 이하 버전

#  key name zset member, score, 
main_rds.zadd(name,score,member)
예제

main_rds.zadd("test",100,"a")

redis 3.0(python의 redis 패키지) 및 이상의 버전

#  key name zset member, score, 
main_rds.zadd(name,{member:score})
예제

main_rds.zadd("test",{"b":90,"c":80}) #  


증량 가입 랭킹


redis 3.0(python의 redis 패키지) 이하 버전

# #  key name zset member, score, 
main_rds.zincrby(name,member,amount)
예제

main_rds.zincrby("test","love",10)  # 10.0, 
main_rds.zincrby("test","love",-1)  # 9.0

redis 3.0(python의 redis 패키지) 및 이상의 버전

#  key name zset member, score, 
main_rds.zincrby(name,amount,member)
예제

main_rds.zincrby("test",8,"beauty")  # 8.0
main_rds.zincrby("test",-2,"beauty")  # 6.0


조작 순위


어떤 멤버의 순위 가져오기

#  member , score , 0 
main_rds.zrank(name,member)
#  member , score , 0 
main_rds.zrevrank(name,meber)
예제

main_rds.zadd("test",{"a":1,"b":2,"c":3})
main_rds.zrank("test","a") # 0
main_rds.zrevrank("test","a") # 2

어떤 meber의 score 가져오기

main_rds.zscore(key,member)
예제

main_rds.zscore("test","c")  # 3.0

특정 구간에 있는 요소 가져오기

#  key name zset( score ) index start end( ) 
main.zrevrange(name, start, end, withscores=False)
예제

main_rds.zadd("test",{"d":5.1,"e":6,"f":7})  # 3
#  
main_rds.zrevrange("test",0,3)  # ['f', 'e', 'd', 'c']

score 구간에 있는 요소 가져오기

#  key name zset score( ) ( ) 
main_rds.zrangebyscore(name, min, max, start=None, num=None, withscores=False)
예제

#  
main_rds.zrangebyscore("test",2,6)  # ['b', 'c', 'd', 'e']

주어진 구간에서 score 요소 수량 가져오기

#  key name zset score 
main_rds.zcount(name, min, max)
예제

main_rds.zcount("test",2,6)  # 4L
전체 zset의 원소 개수 가져오기

main_rds.zcard(name)
예제

main_rds.zcard("test") # 6

요소 삭제

#  key name 
main_rds.zrem(name, *values)
예제

main_rds.zrevrange("test",0,10)   # ['love', 'f', 'beauty']
main_rds.zrem("test","f")    # 1
main_rds.zrem("test","love","beauty") # 2  
특정 구간에 있는 요소 삭제

#  key name zset 
main_rds.zremrangebyrank(name, min, max)
예제

main_rds.zremrangebyrank("test",0,2) # 3

####  score 
#  key name zset score 
main_rds.zremrangebyscore(name, min, max)

예제

main_rds.zremrangebyscore("test", 5, 6)  # 2
이 리디스의 차트 기능 실현에 관한 글은 여기까지 소개되었습니다. 더 많은 리디스 차트 관련 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기