infinispan / infinispan-simple-tutorials

Infinispan Simple Tutorials
https://infinispan.org/tutorials/simple/simple_tutorials.html
Apache License 2.0
62 stars 68 forks source link

Bump redis.clients:jedis from 5.1.5 to 5.2.0 #247

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps redis.clients:jedis from 5.1.5 to 5.2.0.

Release notes

Sourced from redis.clients:jedis's releases.

5.2.0 GA

Enhanced Client-side caching

We are happy to announce that improved server-assisted, client-side caching is now generally available! Special thanks to all our beta testers for their valuable feedback, which helped us refine and improve the initial implementation.

Client-side caching is supported exclusively with the RESP3 protocol with Redis >= 7.4 and is available in UnifiedJedis, JedisPooled, and JedisCluster and other classes.

How to try Client-Side Caching

  1. Install Jedis 5.2.0
  2. Use the following code example to get started:
public class CSCExampleTest {
  public static void main() {
HostAndPort node = HostAndPort.from("localhost:6379");
JedisClientConfig clientConfig = DefaultJedisClientConfig.builder()
    .resp3()                // RESP3 protocol is required for client-side caching
    //.user("myuser")       // Redis server username (optional)
    //.password("mypass")   // Redis user's password (optional)
    .build();

CacheConfig cacheConfig = getCacheConfig();
Cache cache = CacheFactory.getCache(cacheConfig);

try (UnifiedJedis client = new UnifiedJedis(node, clientConfig, cache)) {
  client.set("foo", "bar");
  client.get("foo");
  client.get("foo"); // Cache hit

  System.out.println("Cache size: " + cache.getSize()); // 1
  System.out.println(cache.getStats().toString());

  //Let's change the value of "foo" to invalidate the value stored in the local cache
  client.mset("foo", "new_value", "ignore_me:1", "another_value");

  Thread.sleep(1000); // wait for the cache invalidation to happen

  System.out.println(client.get("foo")); // Cache miss
  System.out.println(cache.getStats().toString());

  client.get("ignore_me:1"); // Client will ignore this key

  System.out.println("Cache size: " + cache.getSize()); // still 1

  // check the cache stats
  System.out.println(cache.getStats().toString());

} catch (InterruptedException e) {
  throw new RuntimeException(e);
}

</tr></table>

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)