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
Java 为什么GAE memcache不断重置?_Java_Google App Engine_Memcached - Fatal编程技术网

Java 为什么GAE memcache不断重置?

Java 为什么GAE memcache不断重置?,java,google-app-engine,memcached,Java,Google App Engine,Memcached,我使用memcache只存储一个整数值和一个用字符串值创建的键。我没有像谷歌文档所说的那样定义过期值,让这些值尽可能长时间地保留。但问题是最古老的物品最多停留4小时。通常只有不到2小时。突然一切都归零了。代码如下: Key mKey=null; MemcacheService memcache = MemcacheServiceFactory.getMemcacheService(); try { mKey=KeyFactory.createKey("device",d

我使用memcache只存储一个整数值和一个用字符串值创建的键。我没有像谷歌文档所说的那样定义过期值,让这些值尽可能长时间地保留。但问题是最古老的物品最多停留4小时。通常只有不到2小时。突然一切都归零了。代码如下:

Key mKey=null;
MemcacheService memcache = MemcacheServiceFactory.getMemcacheService();

    try {
        mKey=KeyFactory.createKey("device",deviceNo);
        if (memcache.get(mKey)==null) {
        Query query = mgr.createQuery("select d.insDate from TrialCheck d where d.DeviceId = :deviceNo");
        resultList.addAll(query.setParameter("deviceNo", deviceNo).getResultList());
            if (resultList.size()<1){
                resultList.add(0);
            } else {
                for (Integer d:resultList) {
                    memcache.put(mKey, d);
                }
            }
        } else {
            Integer installDate = (Integer) memcache.get(mKey);
            resultList.add(installDate);
        }
Key mKey=null;
MemcacheService memcache=MemcacheServiceFactory.getMemcacheService();
试一试{
mKey=KeyFactory.createKey(“设备”,设备号);
if(memcache.get(mKey)==null){
Query Query=mgr.createQuery(“从TrialCheck d中选择d.insDate,其中d.DeviceId=:deviceNo”);
addAll(query.setParameter(“deviceNo”,deviceNo.getResultList());

if(resultList.size()共享memcache尽最大努力提供缓存容量,并取决于App Engine服务的所有应用程序的总体需求。专用memcache提供专门分配给应用程序的固定缓存容量


同样在代码中,您两次从缓存中取出该项。您可以调用memcache.get(mKey)检查它是否为null。如果不为null,则再次从缓存中取出该项并将其强制转换为整数。设置第一个memcache.get(mKey)您可以稍后使用,因为您可能会遇到缓存在第一次和第二次获取之间过期的可能性。

共享memcache尽最大努力提供缓存容量,并取决于App Engine服务的所有应用程序的总体需求。专用memcache提供专门分配给用户的固定缓存容量你的申请


同样在代码中,您两次从缓存中取出该项。您可以调用memcache.get(mKey)检查它是否为null。如果不为null,则再次从缓存中取出该项并将其强制转换为整数。设置第一个memcache.get(mKey)您可以稍后使用,因为您可能会遇到缓存在第一次和第二次获取之间过期的可能性。

共享memcache尽最大努力提供缓存容量,并取决于App Engine服务的所有应用程序的总体需求。专用memcache提供专门分配给用户的固定缓存容量你的申请


同样在代码中,您两次从缓存中取出该项。您可以调用memcache.get(mKey)检查它是否为null。如果不为null,则再次从缓存中取出该项并将其强制转换为整数。设置第一个memcache.get(mKey)您可以稍后使用,因为您可能会遇到缓存在第一次和第二次获取之间过期的可能性。

共享memcache尽最大努力提供缓存容量,并取决于App Engine服务的所有应用程序的总体需求。专用memcache提供专门分配给用户的固定缓存容量你的申请

同样在代码中,您两次从缓存中取出该项。您可以调用memcache.get(mKey)检查它是否为null。如果不为null,则再次从缓存中取出该项并将其强制转换为整数。将第一个memcache.get(mKey)设置为一个变量,以便以后使用,因为您可能会遇到缓存在第一次和第二次get之间过期的情况