2009-11-17 4 views
2

J'utilise Tokyo Cabinet avec le module tc en python. Je stocke mes données dans le format TDB. Je m'attendais à ce que la table ne se bloque que pour la durée d'une écriture. Malheureusement, je vois que lorsque le fichier est ouvert avec le "mode écrivain", les autres processus ne peuvent pas en lire. Est-ce un comportement standard, un problème d'emballage, ou est-ce que je fais quelque chose de mal? Ou peut-être il y a d'autres cas où les opérations sont bloquées?Quelles sont les causes de blocage du Cabinet Tokyo

+1

Le cabinet de Tokyo est-il bipartisan? –

Répondre

4

Selon specification:

Tokyo Cabinet propose deux modes de se connecter à une base de données: "lecteur" et "écrivain". Un lecteur peut effectuer de récupération mais ni de stockage ni de suppression . Un auteur peut effectuer toutes les méthodes d'accès . Le contrôle d'exclusion entre les processus est effectué lorsque se connectant à une base de données par le fichier de verrouillage. Alors qu'un écrivain est connecté à une base de données, ni les lecteurs ni les ne peuvent être connectés. Alors qu'un lecteur est connecté à une base de données, d'autres lecteurs peuvent être connectés, mais pas les écrivains . Selon ce mécanisme , la cohérence des données est garanti avec des connexions simultanées dans l'environnement multitâche .

Vous devez créer et fermer un programme d'écriture pour chaque opération d'écriture ou utiliser Tokyo Tyrant pour fournir un accès simultané.

Questions connexes