我有以下代码
def get(self):
date = datetime.date.today()
loc_query = Location.all()
last_cursor = memcache.get('location_cursor')
if last_cursor: loc_query.with_cursor(last_cursor)
loc_result = loc_query.fetch(1)
for loc in loc_result:
self.record(loc, date)
taskqueue.add(
url='/task/query/simplegeo',
params={'date':date, 'locid':loc.key().id()}
)
if len(loc_result):
memcache.add('location_cursor', loc_query.cursor())
taskqueue.add(url='/task/count/', method='GET')
else:
memcache.add('location_cursor', None)
我不知道我做错了什么,但我得到了同样的光标,这不是我想要的效果。为什么光标不移动?
答案 0 :(得分:5)
您误导memcache.add
,其中记录为here:
设置键的值,当且仅当时 item不在memcache中。
因此,您永远不会存储与第一个不同的任何光标。请改用memcache.set
,
设置键的值,无论如何 缓存中的先前内容。
请注意,这与游标无关 - 这是关于正确使用memcache
的所有内容!