Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 我是否可以注册在删除对象之前触发的Ehcache事件侦听器?_Google App Engine_Caching_Memcached_Ehcache - Fatal编程技术网

Google app engine 我是否可以注册在删除对象之前触发的Ehcache事件侦听器?

Google app engine 我是否可以注册在删除对象之前触发的Ehcache事件侦听器?,google-app-engine,caching,memcached,ehcache,Google App Engine,Caching,Memcached,Ehcache,我目前正在研究是否适合在Google App Engine中使用Ehcache,我有一个具体的需求。 我正在构建一个游戏,游戏状态将在每回合更新。目前,在每次操作之后,我更新Memcache,然后更新数据存储。每次我都会先从缓存中加载游戏状态,如果缓存为空,则从数据存储中加载。 我每次都必须更新数据存储的原因是无法保证对象不会从缓存中清除 我担心的是,在大多数情况下(即,只要对象没有从缓存中移出),所有这些数据存储保存都是无用的。 因此,我正在寻找一种方法,在对象从缓存中移出之前,只触发数据存储

我目前正在研究是否适合在Google App Engine中使用Ehcache,我有一个具体的需求。
我正在构建一个游戏,游戏状态将在每回合更新。目前,在每次操作之后,我更新Memcache,然后更新数据存储。每次我都会先从缓存中加载游戏状态,如果缓存为空,则从数据存储中加载。
我每次都必须更新数据存储的原因是无法保证对象不会从缓存中清除

我担心的是,在大多数情况下(即,只要对象没有从缓存中移出),所有这些数据存储保存都是无用的。
因此,我正在寻找一种方法,在对象从缓存中移出之前,只触发数据存储保存一次

使用GAE Memcache似乎不可能做到这一点。我看过Ehcache,但它只在删除元素后提供通知。而且,“只有元素的关键部分是已知的”,这与我想要做的不一致

有没有人已经面临同样的需求?你是怎么处理的


提前感谢您提供的任何提示

否,在从App Engine上的缓存中逐出元素之前无法收到通知。也没有办法安装像EHCache这样的备用缓存系统


顾名思义,Memcache是一个缓存系统。即使使用逐出机制,您也不应该将其作为主存储。

如果我理解正确,您的意思是缓存(无论它是什么)应该始终只是存储系统的反映,以减少加载时间(如果适用)。是吗?谢谢你的澄清:)