Do gRPC clients have any caching functionality, e.g. like GraphQL clients have? Without having tried gRPC yet, that's currently the only thing that would keep me from doing tihs.
Do gRPC clients have any caching functionality?
2.6k Views Asked by me.at.coding At
2
There are 2 best solutions below
0
Amir Parvaneh
On
gRPC clients can have caching functionality similar to GraphQL clients. While gRPC does not have built-in caching, you can use third-party libraries or write custom code to implement caching on the client side. One popular library for implementing caching in gRPC clients is "grpc-ecosystem/go-grpc-middleware". Alternatively, you can write your own caching mechanism by creating a custom gRPC client interceptor that intercepts gRPC calls and caches the response
Related Questions in ANDROID
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
- Google Maps API Re-size
- Push toolbar content below statusbar
- Android FragmentPagerAdapter Circular listview
- Layout not shifting up when keyboard is open
- auDIO_OUTPUT_FLAG_FAST denied by client can't connect to localhost
Related Questions in CACHING
- ClassCastException: datastructures.instances.JClass cannot be cast to java.util.ArrayList
- Robospice. How to save data and how to get data from DB?
- Make @lru_cache ignore some of the function arguments
- Xib taking long time (>1s) to load. UIFont cache seems to blame
- Android picasso cache images
- Rails 4 low-level caching not working
- How to cache Exchange web service API autodiscoverurl?
- The process cannot access the file because it is being used by another process asp.net
- Alamofire loading from cache even when cache policy set to ReloadIgnoringLocalAndRemoteCacheData
- Java Heap vs Cache
- In what use cases is locking on ASP.NET cache required/desirable
- Chrome cache overriding angularjs disabling of cache
- AFNetworking 2.0 Cache Issue
- Symfony ESI Cache / Surrogate Listener Issue
- Using getOrElseUpdate of TrieMap in Scala
Related Questions in GRPC
- protoc not generating service stub files
- Using gRPC with Vert.x, netty dependency issue
- Only put .proto protocol buffer file in a repository?
- Adding servers in the client-side dynamically/Runtime
- Docker connectivity issue with gRPC
- How to call microservice without slowing down the response?
- install gRPC and got make error
- How to do routing and avoid deserialization in Grpc / Protobuf?
- grpc number of active clients/channels
- Why do we need to register reflection service on gRPC server
- gRPC with WPF not working
- TensorFlow Server close the connection within client timeout
- Stub uses a single connection over the channel for multithreaded gRPC Client?
- Java + GRPC, for dummies?
- Trying to run node application with grpc on linux ARM processor
Related Questions in GRPC-JAVA
- Adding servers in the client-side dynamically/Runtime
- How to do routing and avoid deserialization in Grpc / Protobuf?
- Java grpc runtime error
- Unit Test proto3 generated objects with verify
- Java + GRPC, for dummies?
- grpc gives "INTERNAL: Connection closed with unknown cause"
- file transfer using gRPC
- Gradle compile dependency outside of project
- Proxy Authentication for Google Speech Api Credential
- gRPC sslcontext config
- dial tcp 127.0.0.1:9091: connect: connection refused
- gPRC java: 'Window size overflow for stream: 0'
- Micronaut gRPC server endpoint swallows exceptions (other than gRPC's StatusException); how to log them instead?
- Can someone explain to me what's the proper usage of gRPC StreamObserver.onError?
- grpc java bi-directional streaming - getting stream timeout runtimeexception occasionally
Related Questions in GRPC-KOTLIN
- What's the best way to limit gRPC connection time using vertx-grpc?
- Loader Constraint Violation for class io.grpc.Channel when trying to create ManagedChannel for GRPC Request
- Tests failing when using ClientInterceptor to add headers to the stub
- gRPC Context return null when I use SimpleForwardingServerCallListener
- Android adding authorization header to grpc Stub, Error:"onError: io.grpc.StatusRuntimeException: UNAVAILABLE"
- How do you add gRPC to Android Studio with Kotlin?
- grpc-kotlin: Unresolved reference
- How can I access header in a service?
- How use Wire with Flow in client gRPC?
- IntelliJ not correctly analyzing grpc-kotlin generated code
- Need wire to emit interfaces for client and server in same gradle project
- INVALID_ARGUMENT: RESOURCE_EXHAUSTED: Connection closed after GOAWAY
- Do gRPC clients have any caching functionality?
- RetryPolicy does not work with coroutines
- Transcode HTTP header into Grpc metadata for each request
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In issue #7945 there is extensive discussion of support for client caching.
Java's support involves marking a method as safe, which will then cause GET rather than PUT to be used at the HTTP layer. You create an interceptor to implement the caching.
You can see an example of doing caching through your own interceptor at https://github.com/grpc/grpc-java/tree/master/examples/android/clientcache.
Internally, LRS and XDS clients do caching which could also be used as examples.