使用memcacheのキーがgoogle.appengine.ext.context.pyで見つけることができます:Context.get():
if use_memcache:
mkey = self._memcache_prefix + key.urlsafe()
(少なくとも私のバージョンで)接頭辞は 'NDB9:' です。ですから、のようなものを使用することができますmemcacheのキーを取得するには:削除するにはNDB9:ahpzfmR5bmFtaWMtdHJhdmVsbGVyLTItdGVzdHIRCxIEVXNlchiAgIDAzZKlCQw
:
from google.appengine.api import memcache
value = memcache.get(mkey)
result = memcache.delete(mkey)
print "Memcache delete result={}".format(result)
if result == 2:
print "{} memcache value has been deleted".format(key)
elif result == 1:
print "{} memcache value not found".format(key)
else:
print "Failed to delete {} memcache value".format(key)
警告:このようなものになり
from google.appengine.ext import ndb
key = ndb.Key('User', 5229916580741120)
mkey = 'NDB9:' + key.urlsafe()
print mkey
をmemcache.getせずに() memcache.delete()の前に呼び出すと、削除結果は常に対話型コンソールを使って '1'(見つからない)でした。なぜそうなのかわからない。
これはオプションかもしれません。https://stackoverflow.com/a/10051668/6017784 – danielx