Google App Engine Memcache

Sam*_*Sam 8 google-app-engine memcached

在GAE中使用memcache时,我很少注意到这种奇怪的行为.我在memcache中设置了一个值,当我尝试检索相同的值时,我得到None而不是原始值.memcache值在这么短的时间内不能过期.我确保在memcache中设置值时返回True.还有什么可以导致memcache值丢失?这是一种常见的系统行为吗?

代码示例:

用于设置值

cache_set = memcache.set(matrix_name+'-'+str(m)+","+str(n),data[n],namespace=uuid)
while cache_set == False :
    sleep(0.1)
    logging.error(" Cache Set failed. Retrying for %s %s",matrix_name,str[m,n])
    cache_set = memcache.set(matrix_name+'-'+str(m)+","+str(n),data[n],namespace=uuid)
Run Code Online (Sandbox Code Playgroud)

用于检索值

memcache.get(matrix_name+'-'+str(m)+","+str(n),namespace=uuid)
Run Code Online (Sandbox Code Playgroud)

Nic*_*son 13

Memcache本质上是不可靠的.它不能保证数据保存多长时间,甚至不能保证数据保持不变.您不应该使用它,期望它将始终在最短时间内返回存储的数据.