Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

memc.py 731 B

11 år sedan
1234567891011121314151617181920212223242526
  1. # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
  2. # MIT License. See license.txt
  3. from __future__ import unicode_literals
  4. import memcache, webnotes
  5. class MClient(memcache.Client):
  6. """memcache client that will automatically prefix conf.db_name"""
  7. def n(self, key):
  8. return (webnotes.conf.db_name + ":" + key.replace(" ", "_")).encode('utf-8')
  9. def set_value(self, key, val):
  10. self.set(self.n(key), val)
  11. def get_value(self, key, builder=None):
  12. val = self.get(self.n(key))
  13. if not val and builder:
  14. val = builder()
  15. self.set_value(key, val)
  16. return val
  17. def delete_value(self, keys):
  18. if not isinstance(keys, (list, tuple)):
  19. keys = (keys,)
  20. for key in keys:
  21. self.delete(self.n(key))