Je tam něco špatně s vytvořením poháněl webové stránky Python Pickle?

hlasů
6

Byl jsem si pohrávala s tímto nápadem docela chvíli teď, ale neviděl žádné informace o lidech, kteří dělají to. Mám malý webové stránky projektu, kde jsem třeba nahrát a upravit 1 objekt. Tento objekt je velmi jednoduchá, a neměla by být větší než několik kb. Namísto spuštění DB pro tohoto malého množství dat, proč ne jen používat picklea / nebo shelvepro uložení těchto dat, a nahrát ji? Mám v plánu na použití micro web rámec, jako je láhev nebo baňky pro projekt.

Existují důvody, proč nepoužívat tuto metodu k načtení dat? Načte pouze soubor lák v době Apache začíná nahoru, takže nemyslím si, že rychlost bude provedena (rychlejší než dotazování db).

Díky za každou vstup!

Položena 10/09/2010 v 03:27
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Já bych napsat nakládané řetězec do souboru přímo. Existuje příliš mnoho detailů nízkoúrovňové bát. Podívejte se na Durus , ZODB nebo tento příspěvek od FriendFeed o ukládání Python objekty v MySQL.

Nevyhazujte relační databáze, i když oni vám hodně muziky hned po vybalení z krabice (i pro jednoduché projekty).

Odpovězeno 10/09/2010 v 03:44
zdroj uživatelem

hlasů
3

Neexistuje žádný důvod, proč nemůžete realizovat objekt vytrvalost přes standardní Python nálevu nebo polička moduly. Jen ujistěte se, že objekty jsou čistě a bezpečně picklable. Škálovatelnost mohou stát problémem, pokud vaše stránky roste nad aktuálním rozsahu, ale do té doby váš nápad by měl fungovat v pohodě. V případě, že přijde den, další zřejmý krok by bylo zvážit použití vynikající Python SQLite modul , který je součástí pre-balené v posledních verzích jazyka.

Odpovězeno 10/09/2010 v 05:07
zdroj uživatelem

hlasů
1

Kromě otázek souběžnosti už jste si vědomi, je také nutné zajistit, že soubor je vždy v konzistentním stavu. Například, pokud server havaruje uprostřed zápisu do souboru, co se stane pak? Je to případ, je třeba zvážit a implementovat řešení, pokud si jít touto cestou.

Odpovězeno 10/09/2010 v 20:42
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more