.
friendlydb hızlı ve küçük aşağıdaki / takipçileri Python ile yazılmış bir veritabanı & nbsp; Ya küçük web API ile Python kodu veya HTTP üzerinden doğrudan kullanılabilir.
FriendlyDB tam kullanıcı sistemi olması gerekiyordu değildir; bu ilişkileri izlemek için varolan sistemin artırmak için kullanılmalıdır.
Kullanım
Python FriendlyDB kullanma gibi görünüyor:
friendlydb.db ithalat FriendlyDB gelen
# Dostu çalışmak için bir dizin verin.
fdb = FriendlyDB ('/ usr / data / dostu')
# Kendi kullanıcı adı ile bir kullanıcıyı tut.
daniel = fdb ['daniel']
# Bir kaç kullanıcıları izleyin.
daniel.follow ('Alice')
daniel.follow ('bob')
daniel.follow ('joe')
# Aşağıdaki edin.
daniel.following ()
# İade:
# [
# 'Alice',
# 'bob',
# 'Joe',
#]
# Joe'nun takipçilerini kontrol edin.
fdb ['Joe']. takipçileri ()
# İade:
# [
# 'daniel',
#]
# Et Takip.
daniel.unfollow ('bob')
# Aşağıdaki edin.
daniel.following ()
# İade:
# [
# 'Alice',
# 'Joe',
#]
# Toz off yörüngesinden atom bombası her şeyi.
fdb.clear ()
HTTP gelen FriendlyDB Kullanma (tüm sondaki eğik çizgi isteğe bağlıdır) gibi görünüyor:
# Bir kabuğunda, sunucuyu başlatın.
Python friendlydb / server.py
Başka itibaren #, bazı URL'leri çalıştırın.
-X GET http://127.0.0.1:8008/ kıvırmak
# {"Sürüm": "0.3.0"}
-X GET http://127.0.0.1:8008/daniel/ kıvırmak
# {"Username": "daniel", "Aşağıdaki": [], "takipçileri": []}
-X POST http://127.0.0.1:8008/daniel/follow/alice/ kıvırmak
{: "Daniel", "other_username": "alice", "takip": "kullanıcı adı" true} #
-X POST http://127.0.0.1:8008/daniel/follow/bob/ kıvırmak
# {"Username": "daniel", "other_username": "takip" "bob": true}
-X POST http://127.0.0.1:8008/daniel/follow/joe/ kıvırmak
{: "Daniel", "other_username": "Joe", "takip": "kullanıcı adı" true} #
-X POST http://127.0.0.1:8008/daniel/unfollow/joe/ kıvırmak
# {"Username": "daniel", "other_username": "Joe", "unfollowed": true}
-X GET http://127.0.0.1:8008/daniel/ kıvırmak
# {"Username": "daniel", "Aşağıdaki": ["alice", "bob"], "takipçileri": []}
-X GET http://127.0.0.1:8008/daniel/is_following/alice/ kıvırmak
# {"Username": "daniel", "other_username": "alice", "is_following": true}
-X GET http://127.0.0.1:8008/alice/is_followed_by/daniel/ kıvırmak
# {"Username": "alice", "other_username": "daniel", "is_followed_by": true}
-X GET http://127.0.0.1:8008/alice/is_followed_by/joe/ kıvırmak
# {"Username": "alice", "other_username": "Joe", "is_followed_by": false}
Kurulum
Pip kullanarak, friendlydb yüklemek pip ile yükleyebilirsiniz.
Performans
Sen dahil benchmark.py komut dosyası çalıştırarak kapsamı dışında kendiniz için FriendlyDB performansını can.
Bir 2011 MacBook Pro (i7) ile ilgili testler, kriter komut gösterdi:
7.3 dakika: - 10.000 kullanıcı arasında 1.000.000 ilişkileri yarattı
- Avg zaman kullanıcının takipçileri almak için: 0.0008 saniye
- RAM RSS asla aşan 40Mb
Koşu Testleri
friendlydb her zaman testleri geçen ile korunur. Sadece çalıştırın:
Python -m unittest2 testleri
Gereksinimler :
- Python
- HTTP sunucusu için (İsteğe bağlı) gevent
- testleri çalıştırmak için (İsteğe bağlı) unittest2
Yorum Bulunamadı