go.mercari.io/datastore@v1.8.2/dsmiddleware/fishbone/doc.go (about)

     1  /*
     2  Package fishbone automatically rewrites the behavior based on KeysOnly + Get by Key when Run or GetAll Query, contributing to reducing the amount of charge.
     3  If you use Run or GetAll with Query, you will be charged for Small Operations + Entity Reads as you retrieve all Entities from Datastore.
     4  We decompose this automatically, set it to KeysOnly and get Entity from cache in Run or GetAll method.
     5  
     6  Why fishbone?
     7  
     8  https://www.google.co.jp/search?q=%E9%AD%9A%E3%81%AE%E9%A3%9F%E3%81%B9%E6%96%B9+%E8%83%8C%E9%AA%A8&tbm=isch
     9  
    10  Recommend: don't use this middleware in production.
    11  You should implement KeysOnly + GetMulti strategy in YOUR application.
    12  Because, SingleGet is executed every time when Iterator#Next called. It's too slow even memcache access.
    13  */
    14  package fishbone // import "go.mercari.io/datastore/dsmiddleware/fishbone"
    15  
    16  // TODO アプリケーション側で実装する場合のベストプラクティス的コードをどこかに作成してリンクを置く