[Erp5-report] r40410 jerome - /erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Nov 19 12:07:51 CET 2010


Author: jerome
Date: Fri Nov 19 12:07:51 2010
New Revision: 40410

URL: http://svn.erp5.org?rev=40410&view=rev
Log:
encode keys only once and only if necessary

Modified:
    erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py

Modified: erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py?rev=40410&r1=40409&r2=40410&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py [utf8] Fri Nov 19 12:07:51 2010
@@ -137,22 +137,23 @@ if memcache is not None:
             delattr(value, MEMCACHED_TOOL_MODIFIED_FLAG_PROPERTY_ID)
             self.scheduled_action_dict[key] = UPDATE_ACTION
         for key, action in self.scheduled_action_dict.iteritems():
+          encoded_key = encodeKey(key)
           if action is UPDATE_ACTION:
-            succeed = self.memcached_connection.set(encodeKey(key),
+            succeed = self.memcached_connection.set(encoded_key,
                                                     self.local_cache[key],
                                                     expiration_time)
             if not succeed:
               self._initialiseConnection()
-              succeed = self.memcached_connection.set(encodeKey(key),
+              succeed = self.memcached_connection.set(encoded_key,
                                                       self.local_cache[key],
                                                       expiration_time)
               if not succeed:
                 LOG('MemcacheTool', 0, 'set command to memcached server (%r) failed' % (self.server_list,))
           elif action is DELETE_ACTION:
-            succeed = self.memcached_connection.delete(encodeKey(key), 0)
+            succeed = self.memcached_connection.delete(encoded_key, 0)
             if not succeed:
               self._initialiseConnection()
-              succeed = self.memcached_connection.delete(encodeKey(key), 0)
+              succeed = self.memcached_connection.delete(encoded_key, 0)
               if not succeed:
                 LOG('MemcacheTool', 0, 'delete command to memcached server (%r) failed' % (self.server_list,))
       except:
@@ -176,9 +177,9 @@ if memcache is not None:
       self._register()
       if self.scheduled_action_dict.get(key) == DELETE_ACTION:
         raise KeyError
-      encoded_key = encodeKey(key)
       result = self.local_cache.get(key, MARKER)
       if result is MARKER:
+        encoded_key = encodeKey(key)
         try:
           result = self.memcached_connection.get(encoded_key)
         except memcache.Client.MemcachedConnectionError:




More information about the Erp5-report mailing list