googleappengine-Memcache-Java版Python';s client.add?
memcache的python接口有一个googleappengine-Memcache-Java版Python';s client.add?,java,google-app-engine,memcached,Java,Google App Engine,Memcached,memcache的python接口有一个add方法: 添加(键,值,时间=0,最小压缩长度=0,命名空间=None) 设置键的值,当且仅当该项不在memcache中时 如果添加返回值,则返回值为True;如果出现错误,则返回值为False 因此,如果项目不存在,您可以使用它添加项目,并通过返回值查看它以前是否存在 与此等效的java memcache api不会让您知道是否存在以前的值: 放置(键、值、过期、, MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_
add
方法:
添加(键,值,时间=0,最小压缩长度=0,命名空间=None)
设置键的值,当且仅当该项不在memcache中时
如果添加返回值,则返回值为True;如果出现错误,则返回值为False
因此,如果项目不存在,您可以使用它添加项目,并通过返回值查看它以前是否存在
与此等效的java memcache api不会让您知道是否存在以前的值:
放置(键、值、过期、,
MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_PRESENT)
MemcacheService.SetPolicy.ADD_ONLY_如果不存在:
如果该键没有值,则添加该值;如果该键存在,则不执行任何操作
有没有办法知道java api中是否存在以前的值?我不能事先检查contains
方法,因为在调用contains
和调用put
之间,另一个JVM实例可以修改memcache。例如:
put()方法不会返回键以前的已知值。它总是返回null
因此,如果您想在调用put()
之前知道它是否存在,我只需要事先调用contains()
如果您担心其他呼叫者在您的两个呼叫之间插入内容,您可能过于依赖Memcache的可靠性。Memcache并不是用来存储重要数据的可靠场所,就像用于更昂贵操作(例如,数据存储读取、URLFetch)的缓存一样
请记住,Memcache可以在任何时间、任何原因清空,您的应用程序需要考虑这一事实