public class GetPutCacheStrategy extends RpcVisitor
| Constructor and Description |
|---|
GetPutCacheStrategy() |
| Modifier and Type | Method and Description |
|---|---|
int |
getPriority()
戦略適用時の優先順位。
戦略はこの値が小さい順に適用されていく。 |
byte[] |
post_datastore_v3_Commit(com.google.apphosting.api.DatastorePb.Transaction requestPb,
com.google.apphosting.api.DatastorePb.CommitResponse responsePb)
Commitを行った後の動作として、Putした時のキャッシュが存在していればMemcacheにキャッシュを作成する。
|
byte[] |
post_datastore_v3_Get(com.google.apphosting.api.DatastorePb.GetRequest requestPb,
com.google.apphosting.api.DatastorePb.GetResponse responsePb)
Getを行った後の動作として、前処理で抜いた分のリクエストと実際にRPCした結果をマージし返す。
また、RPCして得られた結果についてMemcacheにキャッシュを作成する。 |
byte[] |
post_datastore_v3_Put(com.google.apphosting.api.DatastorePb.PutRequest requestPb,
com.google.apphosting.api.DatastorePb.PutResponse responsePb)
Putを行った後の動作として、Memcacheにキャッシュを作成する。
|
byte[] |
post_datastore_v3_Rollback(com.google.apphosting.api.DatastorePb.Transaction requestPb,
com.google.apphosting.api.DatastorePb.CommitResponse responsePb)
Rollbackを行った後の動作として、Putした時のキャッシュが存在していればなかった事にする。
|
Pair<byte[],byte[]> |
pre_datastore_v3_Delete(com.google.apphosting.api.DatastorePb.DeleteRequest requestPb)
Deleteを行う前の動作として、とりあえずMemcacheからキャッシュを削除する。
|
Pair<byte[],byte[]> |
pre_datastore_v3_Get(com.google.apphosting.api.DatastorePb.GetRequest requestPb)
Getを行う前の動作として、Memcacheから解決できる要素について処理を行う。
Memcacheからの不足分のみでリクエストを再構成する。 もし、Tx下であったら全てを素通しする。 |
post_datastore_v3_AllocateIds, post_datastore_v3_BeginTransaction, post_datastore_v3_Delete, post_datastore_v3_Next, post_datastore_v3_RunQuery, post_memcache_BatchIncrement, post_memcache_Delete, post_memcache_FlushAll, post_memcache_Get, post_memcache_Increment, post_memcache_Set, post_memcache_Stats, postProcess, pre_datastore_v3_AllocateIds, pre_datastore_v3_BeginTransaction, pre_datastore_v3_Commit, pre_datastore_v3_Next, pre_datastore_v3_Put, pre_datastore_v3_Rollback, pre_datastore_v3_RunQuery, pre_memcache_BatchIncrement, pre_memcache_Delete, pre_memcache_FlushAll, pre_memcache_Get, pre_memcache_Increment, pre_memcache_Set, pre_memcache_Stats, preProcesspublic int getPriority()
Strategypublic Pair<byte[],byte[]> pre_datastore_v3_Get(com.google.apphosting.api.DatastorePb.GetRequest requestPb)
pre_datastore_v3_Get in class RpcVisitorPair のFirst。requestPbを再構成した時は Pair のSecond。public byte[] post_datastore_v3_Get(com.google.apphosting.api.DatastorePb.GetRequest requestPb,
com.google.apphosting.api.DatastorePb.GetResponse responsePb)
post_datastore_v3_Get in class RpcVisitorpublic byte[] post_datastore_v3_Put(com.google.apphosting.api.DatastorePb.PutRequest requestPb,
com.google.apphosting.api.DatastorePb.PutResponse responsePb)
post_datastore_v3_Put in class RpcVisitorpublic Pair<byte[],byte[]> pre_datastore_v3_Delete(com.google.apphosting.api.DatastorePb.DeleteRequest requestPb)
pre_datastore_v3_Delete in class RpcVisitorpublic byte[] post_datastore_v3_Commit(com.google.apphosting.api.DatastorePb.Transaction requestPb,
com.google.apphosting.api.DatastorePb.CommitResponse responsePb)
post_datastore_v3_Commit in class RpcVisitorpublic byte[] post_datastore_v3_Rollback(com.google.apphosting.api.DatastorePb.Transaction requestPb,
com.google.apphosting.api.DatastorePb.CommitResponse responsePb)
post_datastore_v3_Rollback in class RpcVisitorCopyright © 2014. All rights reserved.