0

我在 Google App Engine (Python SDK) 中使用 memcahce 来保持每年的学生人数,我在 memcache 字典中保存

{'first': 32, 'second': 23 }

如何自动更新一年级学生的数量并放回内存缓存?当我将学生的新模型放入数据存储区时,我想增加。我试过了,但它不起作用(我也尝试在最后一行添加而不是关闭,但它不起作用)

data = memcache.get('students')
if data is None:
    data = {}
data[student_year] = data.get(student_year, 0) + 1
memcache.set('students', data, 3600)
4

2 回答 2

2

将每个数字存储在单独的键中,并按照@presveva 的建议使用 incr() 。

memcache.incr(key='students_first', delta=1, initial_value=0)
于 2013-11-10T17:19:21.020 回答
0

正如我在评论中所说,内存缓存不可靠,您的值可以随时清除(除非您使用“专用内存缓存”服务)

但是对于内存缓存值的原子更新,请使用比较和设置

https://developers.google.com/appengine/docs/python/memcache/#Python_Using_compare_and_set_in_Python

于 2013-11-10T22:53:48.543 回答