2010-12-11 8 views
4

J'utilise ZODB pour ma persistance d'objet python. J'utilise web2py comme framework.Est-il nécessaire de fermer les connexions ZODB après avoir seulement lu les données

La base de données ZODB que j'utilise est accessible uniquement pour les lectures. J'ai écrit le code pour ouvrir la base de données à l'intérieur de mes modèles. L'objet connection.root() est ensuite mis en cache dans la RAM afin qu'il reste là pour d'autres demandes.

Ma question est, est-il nécessaire de fermer une base de données ZODB si elle est utilisée uniquement pour l'accès en lecture et qu'il n'y a pas d'écritures en attente?

Répondre

2

Non, vous n'avez pas besoin de le fermer. Chaque connexion ouverte consomme un peu de mémoire, mais il semble que vous n'en ayez pas des milliers, juste un par processus web2py

+0

OK .. merci ... – easysid

1

Vous n'avez pas à le fermer, mais vous devriez lancer connection.cacheMinimize() régulièrement , si vous voulez éviter, que les objets en cache mangent votre mémoire. Si vous écrivez également des données et que vous vous engagez régulièrement, vous pouvez ignorer cela, car commit() inclut cacheMinimize().

Questions connexes