Python에서 Redis를 사용하여 친구 관계를 저장하는 방법
저는 최근 Redis가
간단한 소셜 그래프를 저장하는 데 얼마나 완벽한지 생각해 보았습니다. 나는 그것이 상대적으로 적은 줄의 코드일 것이라고 가정했고,
또한 깨끗한 코드일 것이라고 가정했습니다. Redis를 기반으로 구축된 기본 소셜 그래프입니다.
"""
class FriendGraph(object):
def __init__(self, ring):
self.ring = ring
# 이 키는 의도적으로 짧게, redis
self.FOLLOWS_KEY = 'F'
self.FOLLOWERS_KEY = 'f'
self.BLOCKS_KEY = 'B'
self.BLOCKED_KEY = 'b'
def 팔로우 (self, from_user, to_user):
forward_key = '%s:%s' % (self.FOLLOWS_KEY, from_user)
forward = self.ring.sadd(forward_key, to_user)
reverse_key = '%s:% s' % (self.FOLLOWERS_KEY, to_user)
self.ring.sadd(reverse_key, from_user) = reverse
정방향 및 역방향 반환
怎样Redis存储好友关系용-python版
def unfollow(self, from_user, to_user):
forward_key = '%s:%s' % (self.FOLLOWS_KEY, from_user)
forward = self.ring.srem(forward_key, to_user)
reverse_key = '%s:%s' % (self .FOLLOWERS_KEY, to_user)
하단면是一种중복형 방약: 从环中删除指 정용 용도는 "역방향"을 사용하는 것입니다. ``파이썬 제거된_사용자 = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操작품后的环赋值给 reverse ```
정방향 및 역방향 반환
def block(self, from_user, to_user):
forward_key = '%s:%s' % (self.BLOCKS_KEY, from_user)
forward = self.ring.sadd( forward_key, to_user)
reverse_key = '%s:%s' % (self.BLOCKED_KEY, to_user)
self.ring.sadd(reverse_key, from_user) = reverse
정방향 및 역방향 반환
def unblock(self, from_user, to_user):
forward_key = '%s:%s' % (self.BLOCKS_KEY, from_user)
forward = self.ring.srem(forward_key, to_user)
reverse_key = '%s:%s' % (self.BLOCKED_KEY, to_user)
하단면은 다음과 같습니다. 从环中删除指 정용 용도는 "역방향"을 사용하는 것입니다. ``파이썬 제거된_사용자 = self.ring.srem(reverse_key, from_user) reverse = self.ring # 将删除操작품后的环赋值给 reverse ```
정방향 및 역방향 반환
def get_follows(self, user):
follows = self.ring.smembers('%s:%s' % (self.FOLLOWS_KEY, user))
blocked = self .ring.smembers('%s:%s' % (self.BLOCKED_KEY, 사용자))
반환 목록(follows.difference(차단됨))
def get_followers(self, 사용자):
followers = self.ring .smembers('%s:%s' % (self.FOLLOWERS_KEY, 사용자))
blocks = self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, 사용자))
반환 목록( Followers.difference(blocks))
def get_blocks(self, user):
return list(self.ring.smembers('%s:%s' % (self.BLOCKS_KEY, user)))
def get_blocked( 본인, 사용자):
반환 목록(self.ring.smembers('%s:%s' % (self.BLOCKED_KEY, 사용자)))
위 내용은 Python에서 Redis를 사용하여 친구 관계를 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

메모장에서 Python 코드를 실행하려면 Python 실행 파일 및 NPPEXEC 플러그인을 설치해야합니다. Python을 설치하고 경로를 추가 한 후 nppexec 플러그인의 명령 "Python"및 매개 변수 "{current_directory} {file_name}"을 구성하여 Notepad의 단축키 "F6"을 통해 Python 코드를 실행하십시오.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

Golang은 높은 동시성 작업에 더 적합하지만 Python은 유연성에 더 많은 장점이 있습니다. 1. Golang은 Goroutine 및 채널을 통해 동시성을 효율적으로 처리합니다. 2. Python은 GIL의 영향을받는 스레딩 및 Asyncio에 의존하지만 여러 동시성 방법을 제공합니다. 선택은 특정 요구 사항을 기반으로해야합니다.

Golang과 Python은 각각 고유 한 장점이 있습니다. Golang은 고성능 및 동시 프로그래밍에 적합하지만 Python은 데이터 과학 및 웹 개발에 적합합니다. Golang은 동시성 모델과 효율적인 성능으로 유명하며 Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명합니다.
