MemcacheService(Google App Engine API for Java)

com.google.appengine.api.memcache

インターフェース MemcacheService

    • メソッドの詳細

      • get

        java.lang.Object get(java.lang.Object key)
        以前に格納された値を取得します。設定されていない場合、null になります。null 値と設定されていない値を区別するには、contains(Object) を使用します。

        値のシリアル化を解除する際にエラーが発生した場合、これにより InvalidValueException がサービスの ErrorHandler に渡されます。サービスエラーが発生した場合、これにより MemcacheServiceException が渡されます。BaseMemcacheService.setErrorHandler(ErrorHandler) をご覧ください。

        パラメータ:
        key - キャッシュ エントリを格納するために使用されるキー オブジェクト
        戻り値:
        以前に格納された値オブジェクトまたは null
        スロー:
        java.lang.IllegalArgumentException - keySerializable ではなく、null でない場合。
      • getIdentifiables

        <T> java.util.Map<T,MemcacheService.IdentifiableValue> getIdentifiables(java.util.Collection<T> keys)
        一度に複数のキーに対して getIdentifiable を実行します。これは getIdentifiable(Object) への複数の呼び出しよりも効率的です。

        値のシリアル化を解除する際にエラーが発生した場合、これにより InvalidValueException がサービスの ErrorHandler に渡されます。サービスエラーが発生した場合、これにより MemcacheServiceException が渡されます。BaseMemcacheService.setErrorHandler(ErrorHandler) をご覧ください。

        パラメータ:
        keys - 値を取得する必要があるキーのコレクション。
        戻り値:
        エントリが見つかった値とキーのマッピング。リクエストされたキーがキャッシュ内に見つからない場合、返されたマップにキーがありません。
        スロー:
        java.lang.IllegalArgumentException - keys の要素が Serializable ではなく、null ではない場合
      • contains

        boolean contains(java.lang.Object key)
        指定された値がキャッシュ内にあるかどうかをテストします(値が null 場合でも)。

        オブジェクトはいつでもキャッシュから削除できることに注意してください。次のコードは適切ではありません。

           if (memcache.contains("key")) {
             foo = memcache.get("key");
             if (foo == null) {
               // continue, assuming foo had the real value null
             }
           }
          
        問題は、contains(java.lang.Object)get(Object) の呼び出し間にキャッシュからエントリがドロップされる可能性があることです。次のコードは適切です。
           foo = memcache.get("key");
           if (foo == null) {
             if (memcache.contains("key")) {
               // continue, assuming foo had the real value null
             } else {
               // continue; foo may have had a real null, but has been dropped now
             }
           }
          
        もう 1 つの選択肢は getAll(Collection) ですが、本来は不要な何かの種類の Collection が必要になります。
        パラメータ:
        key - キャッシュ エントリを格納するために使用されるキー オブジェクト
        戻り値:
        キャッシュにキーのエントリが含まれる場合は true
        スロー:
        java.lang.IllegalArgumentException - keySerializable ではなく、null でない場合。
      • getAll

        <T> java.util.Map<T,java.lang.Object> getAll(java.util.Collection<T> keys)
        一度に複数のキーを取得します。この方法では、不明なキーがマッピングされないため、contains(Object) のテストと値のフェッチの両方を行う単一の呼び出しが可能になり、get(Object) の複数の呼び出しよりも効率的です。

        値のシリアル化を解除する際にエラーが発生した場合、これにより InvalidValueException がサービスの ErrorHandler に渡されます。サービスエラーが発生した場合、これにより MemcacheServiceException が渡されます。BaseMemcacheService.setErrorHandler(ErrorHandler) をご覧ください。

        パラメータ:
        keys - 値を取得する必要があるキーのコレクション。
        戻り値:
        見つかったエントリの値へのキーのマッピング。リクエストされたキーがキャッシュ内に見つからない場合、返されたマップにキーがありません。
        スロー:
        java.lang.IllegalArgumentException - keys の要素が Serializable ではなく、null ではない場合
        InvalidValueException - キャッシュ値のシリアル化の解除中のエラー
      • put

        boolean put(java.lang.Object key,
                    java.lang.Object value,
                    Expiration expires,
                    MemcacheService.SetPolicy policy)
        key を使用して新しい値をキャッシュに格納しますが、既存のエントリに関する policy の影響を受けます。
        パラメータ:
        key - 新しいキャッシュ エントリのキー
        value - 格納される値
        expires - 時間ベースの有効期限を設定する Expiration オブジェクト。 null を使用して特定の有効期限を示すことはできません。
        policy - 同じキーの既存のエントリに関する特定の処理をリクエストします。パラメータを null にすることはできません。
        戻り値:
        新しいエントリが作成された場合は truepolicy が原因で作成されなかった場合は false
        スロー:
        java.lang.IllegalArgumentException - key または valueSerializable ではなく、null ではない場合
        MemcacheServiceException - サーバーがエラーに対応し、ConsistentErrorHandler が設定されていない場合
      • put

        void put(java.lang.Object key,
                 java.lang.Object value)
        put(key, value, null, SetPolicy.SET_ALWAYS) と同等の便利なショートカット。
        パラメータ:
        key - 新しいエントリのキー
        value - 新しいエントリの値
        スロー:
        java.lang.IllegalArgumentException - key または valueSerializable ではなく、null ではない場合
        MemcacheServiceException - サーバーがエラーに対応し、ConsistentErrorHandler が設定されていない場合
      • putAll

        <T> java.util.Set<T> putAll(java.util.Map<T,?> values,
                                    Expiration expires,
                                    MemcacheService.SetPolicy policy)
        put(java.lang.Object, java.lang.Object, com.google.appengine.api.memcache.Expiration, com.google.appengine.api.memcache.MemcacheService.SetPolicy) のバッチ処理のバリアント。これは、複数の呼び出しよりも効率的にサービスによって実装されます。
        パラメータ:
        values - キャッシュに追加するキーと値のマッピング
        expires - すべての values に対する有効期限。時間ベースの有効期限がない場合は null
        policy - 空白の場合や存在していない場合にどうするか。
        戻り値:
        エントリが作成されたキーのセット。既存のエントリに関する policy のために、values 内のキーが返されたセットにない可能があります。
        スロー:
        java.lang.IllegalArgumentException - キーまたは値のいずれかが Serializable ではなく、null ではない場合
        MemcacheServiceException - サーバーが特定の値のエラーに対応していて、ConsistentErrorHandler が設定されていない場合
      • putAll

        void putAll(java.util.Map<?,?> values,
                    Expiration expires)
        putAll(values, expires, SetPolicy.SET_ALWAYS) と同等の便利な複数入力。
        パラメータ:
        values - キャッシュに追加するキーと値のマッピング
        expires - 新しい値の有効期限、または時間ベースの有効期限がない場合は null
        スロー:
        java.lang.IllegalArgumentException - キーまたは値のいずれかが Serializable ではなく、null ではない場合
        MemcacheServiceException - サーバーが特定の値のエラーに対応していて、ConsistentErrorHandler が設定されていない場合
      • putAll

        void putAll(java.util.Map<?,?> values)
        putAll(values, expires, SetPolicy.SET_ALWAYS) と同等の便利な複数入力。
        パラメータ:
        values - キャッシュに追加する新しいエントリのキーと値のマッピング
        スロー:
        java.lang.IllegalArgumentException - キーまたは値のいずれかが Serializable ではなく、null ではない場合
        MemcacheServiceException - サーバーが特定の値のエラーに対応していて、ConsistentErrorHandler が設定されていない場合
      • putIfUntouched

        boolean putIfUntouched(java.lang.Object key,
                               MemcacheService.IdentifiableValue oldValue,
                               java.lang.Object newValue,
                               Expiration expires)
        oldValue の取得後、他の値が格納されていない場合にのみ、アトミックに newValue を格納します。oldValueMemcacheService.IdentifiableValue で、これは getIdentifiable(java.lang.Object) への以前の呼び出しによって返されたものです。

        キャッシュ内に key の別の値が格納されている場合、またはこのキャッシュ エントリが強制排除された場合、この呼び出しでは何も格納されず、false が返されます。

        同じ値をもう一度格納すると「タップ」としてカウントされるので、この目的のために使用できることに注意してください

        getIdentifiable(java.lang.Object)putIfUntouched(java.lang.Object, com.google.appengine.api.memcache.MemcacheService.IdentifiableValue, java.lang.Object, com.google.appengine.api.memcache.Expiration) を一緒に使用すると、同時実行(またはエビクション)のためにアトミックに成功するか失敗するオペレーションが構成されます。この場合、オペレーション全体をアプリケーションから再試行できます。

        パラメータ:
        key - エントリのキー
        oldValue - 値を newValue と比較するための識別子
        newValue - oldValue がまだ存在している場合に格納する新しい値
        expires - 時間ベースの有効期限を設定する Expiration オブジェクト。 特定の有効期限のないことを示すために、null を使用できます。
        戻り値:
        newValue が格納された場合は true、そうでない場合は false
        スロー:
        java.lang.IllegalArgumentException - key または newValueSerializable ではなく、null ではない場合。oldValuenull の場合、IllegalArgumentException もスローします。
        MemcacheServiceException - サーバーがエラーに対応し、ConsistentErrorHandler が設定されていない場合
      • putIfUntouched

        boolean putIfUntouched(java.lang.Object key,
                               MemcacheService.IdentifiableValue oldValue,
                               java.lang.Object newValue)
        put(key, oldValue, newValue, null) と同等の便利なショートカット。
        パラメータ:
        key - エントリのキー
        oldValue - 値を newValue と比較するための識別子
        newValue - oldValue がまだ存在している場合に格納する新しい値
        戻り値:
        true が格納された場合は newValue、そうでない場合は false
        スロー:
        java.lang.IllegalArgumentException - key または newValueSerializable ではなく、null ではない場合。oldValuenull の場合、IllegalArgumentException もスローします。
        MemcacheServiceException - サーバーがエラーに対応し、ConsistentErrorHandler が設定されていない場合
      • putIfUntouched

        <T> java.util.Set<T> putIfUntouched(java.util.Map<T,MemcacheService.CasValues> values)
        putIfUntouched(values, null) と同等の便利なショートカット。
        パラメータ:
        values - 比較してスワップするキーと値のマッピング
        戻り値:
        新しい値が格納されたキーのセット。
        スロー:
        java.lang.IllegalArgumentException - いずれかのキーが Serializable ではないか、またはいずれかの値が Serializable ではないか、null ではない場合
        java.lang.IllegalArgumentException - いずれかのキーまたは newValues が Serializable ではなく、null ではない場合。values に null がある場合、IllegalArgumentException もスローします。
        MemcacheServiceException - サーバーが特定の values のエラーに対応していて、ConsistentErrorHandler が設定されていない場合
      • putIfUntouched

        <T> java.util.Set<T> putIfUntouched(java.util.Map<T,MemcacheService.CasValues> values,
                                            Expiration expiration)
        putIfUntouched(Object, IdentifiableValue,Object,Expiration) のバッチ処理のバリアント。これは単一の値の複数回の呼び出しよりも効率的です。
        パラメータ:
        values - 比較してスワップするキーと値のマッピング
        expiration - null expiration 値がある value の時間ベースの有効期限を設定する Expiration オブジェクト。 特定の有効期限のないことを示すために、null を使用できます。
        戻り値:
        新しい値が格納されたキーのセット。
        スロー:
        java.lang.IllegalArgumentException - いずれかのキーまたは newValues が Serializable ではなく、null ではない場合。values に null がある場合、IllegalArgumentException もスローします。
        MemcacheServiceException - サーバーが特定の values のエラーに対応していて、ConsistentErrorHandler が設定されていない場合
      • delete

        boolean delete(java.lang.Object key)
        キャッシュから key を削除します。
        パラメータ:
        key - 削除するエントリのキー。
        戻り値:
        エントリが存在していたものの、破棄された場合は true
        スロー:
        java.lang.IllegalArgumentException - keySerializable ではなく、null でない場合。
      • deleteAll

        <T> java.util.Set<T> deleteAll(java.util.Collection<T> keys)
        delete(Object) のバッチ バージョン。
        パラメータ:
        keys - 削除するエントリのキーのコレクション
        戻り値:
        削除されたキーのセット。keys 内にあるものの、返されたセットにはないキーはキャッシュ内にありません。返されるセットの反復順序は、提供される keys の反復順序と一致します。
        スロー:
        java.lang.IllegalArgumentException - keys の要素が Serializable ではなく、null ではない場合
      • deleteAll

        <T> java.util.Set<T> deleteAll(java.util.Collection<T> keys,
                                       long millisNoReAdd)
        delete(Object, long) のバッチ バージョン。
        パラメータ:
        keys - 削除するエントリのキーのコレクション
        millisNoReAdd - MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_PRESENT を使用した入力のための呼び出しを拒否する時間。
        戻り値:
        削除されたキーのセット。keys 内にあるものの、返されたセットにはないキーはキャッシュ内にありません。返されるセットの反復順序は、提供される keys の反復順序と一致します。
        スロー:
        java.lang.IllegalArgumentException - keys の要素が Serializable ではなく、null ではない場合
      • increment

        java.lang.Long increment(java.lang.Object key,
                                 long delta)
        指定された整数値の取得、インクリメント、格納を自動的に実行します。「整数」型は ByteShortIntegerLong で、場合によっては String も含まれます。エントリがすでに存在していて、0 または正の値にする必要があります。

        正の値でインクリメントして符号付き 64 ビットの最大値(2^63 - 1)に達すると、符号付き 64 ビットの最小値(-2^63)にラップアラウンドし、そこから引き続きインクリメントします。

        アトミック カウントダウンとしての使用を容易にするために、負の値でインクリメント(つまりデクリメント)しても 0 未満にはなりません。-52 をインクリメントすると、-3 ではなく 0 が返されます。

        注: Memcache のすべての数値の実際の表現は文字列です。つまり、最初に数値を文字列(たとえば、"10")として格納してインクリメントした場合、すべてが正常に動作します。

        文字列値のキーに対して get(Object) を実行する場合、符号なし 64 ビット数(2^64 - 1)の最大値を超えると、ラッピングが発生します。数値型のキーに対して get(Object) を実行する場合、型の最大値を超えると、ラッピングが発生します。

        サービスエラーが発生した場合、これにより MemcacheServiceException がサービスの ErrorHandler に渡されます。BaseMemcacheService.setErrorHandler(ErrorHandler) をご覧ください。

        パラメータ:
        key - 操作するエントリのキー
        delta - インクリメントのサイズ、正または負
        戻り値:
        long 値としてのインクリメント後の値。ただし、キーの get(Object) にはまだ元の型(ByteShort など)があります。key にエントリがない場合、null が返されます。
        スロー:
        java.lang.IllegalArgumentException - keySerializable ではなく、null でない場合。
        InvalidValueException - インクリメントされたオブジェクトが整数型ではないか、負の値を保持している場合
      • increment

        java.lang.Long increment(java.lang.Object key,
                                 long delta,
                                 java.lang.Long initialValue)
        通常のインクリメントと同様ですが、キャッシュにまだ存在していない場合は、キーのオプションの初期値を使用できます。

        指定される初期値を負の値にすることができます。これによって、負の数のインクリメントが可能になります。これは、このメソッドの基本バージョンとは対照的です。基本バージョンでは、既存の値(たとえば、put(java.lang.Object, java.lang.Object, com.google.appengine.api.memcache.Expiration, com.google.appengine.api.memcache.MemcacheService.SetPolicy) で格納される値)はインクリメントする前に 0 または正の値にする必要があります。

        パラメータ:
        initialValue - キーが存在しない場合にキャッシュに挿入する値
        関連情報:
        increment(Object, long)
      • incrementAll

        <T> java.util.Map<T,java.lang.Long> incrementAll(java.util.Collection<T> keys,
                                                         long delta)
        通常のインクリメントと同様ですが、個々のキーのバッチを同じデルタで並列でインクリメントします。
        戻り値:
        キーを新しい値にマッピングします。値をインクリメントできないか、キャッシュ内に存在しない場合は、値が null になります。
        関連情報:
        increment(Object, long)
      • incrementAll

        <T> java.util.Map<T,java.lang.Long> incrementAll(java.util.Collection<T> keys,
                                                         long delta,
                                                         java.lang.Long initialValue)
        通常のインクリメントと同様ですが、個々のキーのバッチを同じデルタで並列でインクリメントし、場合によっては開始値を設定します。
        パラメータ:
        initialValue - キーが存在しない場合にキャッシュに挿入する値
        戻り値:
        キーを新しい値にマッピングします。何かの理由で値をインクリメントできない場合は、値が null になります。
        関連情報:
        increment(Object, long)
      • incrementAll

        <T> java.util.Map<T,java.lang.Long> incrementAll(java.util.Map<T,java.lang.Long> offsets)
        通常のインクリメントと同様ですが、キーごとに個別に制御可能なオフセットのマッピングを個別に受け入れます。sum と count を並列でインクリメントすることをおすすめします。
        戻り値:
        キーを新しい値にマッピングします。何かの理由で値をインクリメントできない場合は、値が null になります。
        関連情報:
        increment(Object, long)
      • incrementAll

        <T> java.util.Map<T,java.lang.Long> incrementAll(java.util.Map<T,java.lang.Long> offsets,
                                                         java.lang.Long initialValue)
        通常のインクリメントと同様ですが、キーごとに個別に制御可能なオフセットのマッピングを個別に受け入れます。sum と count を並列でインクリメントすることをおすすめします。初期値がまだキャッシュ内に存在していない場合、呼び出し元は初期値をキーに渡して使用することもできます。
        戻り値:
        キーを新しい値にマッピングします。何かの理由で値をインクリメントできない場合は、値が null になります。
        関連情報:
        increment(Object, long)
      • clearAll

        void clearAll()
        すべての名前空間のすべての値のキャッシュを空にします。統計は影響を受けません。
      • getStatistics

        Stats getStatistics()
        キャッシュとその使用法に関する統計情報を取得します。
        戻り値:
        キャッシュの統計。このメソッドはすべての名前空間に対して集計された Stats を返すことに注意してください。レスポンスは null にはなりません。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境