HikariCP
Jedis
Our great sponsors
HikariCP | Jedis | |
---|---|---|
33 | 4 | |
19,395 | 11,628 | |
- | 1.0% | |
6.2 | 9.1 | |
about 1 month ago | 5 days ago | |
Java | Java | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
HikariCP
-
Java virtual threads caused a deadlock in TPC-C for PostgreSQL
Looks like HikariCP is also awaiting fixes for this https://github.com/brettwooldridge/HikariCP/pull/2055
- About Pool Sizing
- HikariCP maximumPoolSize based on AWS ECS number of tasks
-
Writing to db
I have used hikari and exposed to do this in the past with postgres, although other dialects are supported.
-
A Tale of Two Connection Pools
I found one suggestion from the author of HikariCP on how to address this, which I implemented and it worked. However, there are additional classes involved, and it feels a little clunky and hard to follow.
-
Spring boot change password runtime
Not really, you can change some things in spring boot but doing so will typically trigger a refresh which is less reliable than restarting but still causes a large performance hit. You could probably do it with hikari if you really needed to but it's inadvisable to build your application around this mechanic.
-
Help with bungeecord server
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
-
Currently load testing a Django API I don’t get good results, Help me brainstorm this
Not familiar with Python but this thread about a Java connection pool might be interesting: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
-
Should I use diesel ORM if performance is the most important thing?
Whatever you choose, presuming your app is database heavy, I highly recommend spending time on DB schema design to make all queries as short as possible, avoid relying on transactions, and keep your connection pool tiny. For reference: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
-
Art of README
You reminded me of the HikariCP library and it’s documentation: Clear and simple with references to other libraries trying to accomplish the same thing. It is not in the closure space though.
https://github.com/brettwooldridge/HikariCP
Jedis
-
Lessons learned from picking a Java based driver for Amazon ElastiCache for Redis - Part 1
Finding out what's causing that was not that simple as Jedis does not write a lot of log information when the log level is set to debug. From what we could tell from the Jedis source code it seems that when the Jedis client connects to the configuration endpoint it fetches all known hosts. It stores that in a local cache and figures out the primary node from the set of nodes. Once the primary node is known it will execute operations against the primary node. It does so by connecting to the Amazon-generated domain name/entry and when that entry is down / unreachable it seems it does not use the configuration endpoint to rediscover the nodes or fetch the new cluster topology. We initially thought this had to do with the DNS caching of the JVM, so we also tried to disable caching, but we did not see any effect after that change.
-
Removies
jedis is used to interact with Redis.
- Stop using noargsconstructors and setters (and builders)
-
Uma abordagem diferenciada à Sessões de Usuário em Microsserviços usando Redis
Como um bônus, deixo aqui uma classe SessionManager pra ajudar na implementação em Java usando Jedis e o gerador de token do Tomcat, que já é normalmente incluído no Spring Boot:
What are some alternatives?
c3p0 - a mature, highly concurrent JDBC Connection pooling library, with support for caching and reuse of PreparedStatements.
Redisson - Redisson - Easy Redis Java client and Real-Time Data Platform. Sync/Async/RxJava/Reactive API. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache ...
spring-boot-r2dbc - An example implementation of Spring Boot R2DBC REST API with PostgreSQL database.
MapDB - MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.
Vibur DBCP - Vibur DBCP - concurrent and dynamic JDBC connection pool
Chronicle Map - Replicate your Key Value Store across your network, with consistency, persistance and performance.
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
EVCache - A distributed in-memory data store for the cloud
Flyway - Flyway by Redgate • Database Migrations Made Easy.
H2 - H2 is an embeddable RDBMS written in Java.
jOOQ - jOOQ is the best way to write SQL in Java