Currently the most popular key-value store in the world, Redis has earned its wide adoption rate by providing high speeds and low latency, packed with a flexible feature-set aimed at app developers.
Redis is an in-memory data structure store, used as a database, cache, and message broker distributed under the BSD license. Redis is used by many leading tech brands in their web stack. Among them is Github, using Redis as a “persistent key/value store for the routing information and a variety of other data”. Another brand you might be (intimately) familiar with is Stackoverflow, that employs Redis as a caching layer for the entire network.
Redis Java clients and integration tools are accessed as libraries in the code to provide functionality according to the unique requirements of the specific application and developer.
That said, it’s interesting to learn which libraries are employed most by Java app developers today. The popularity of a library or specific Java client doesn’t only influence its maintenance and upkeep, but also eases troubleshooting.
In addition, it can even ease the process of recruiting and training developers for your team – the more popular the library, the more likely you are to find coders well-versed in its intricacies.
Bottom line, the most popular libraries are much more likely to have better upkeep and provide superior functionality and ease of use. This means time and money saved for you, especially on repairing broken keyboards.
To get a better glimpse into how developers are integrating and using Redis with their Java applications, we decided to check: which are the libraries used most?
We collected anonymous library usage statistics among a random selection of 1871 developers from the Tabnine community over a period of three months (between June and September 2019). We then summarized the total number of projects and apps employing each library, and removed irrelevant records. Here are our results:
The most popular library on our list, with over 56% of users queried, comes as no surprise. Spring Data Redis is probably the easiest and fastest way to integrate Redis into your Spring application, providing the abstractions of the Spring Data platform to Redis.
Dubbing itself “a blazingly small and sane Redis java client” Jedis was conceived with simplicity and ease of use in mind. In our data, Jedis has quite a following, with close to 29% of Tabnine users choosing it over other options.
Reddison is a Redis Java client with features of In-Memory Data Grid and over 30 available objects and services. Based on high-performance async and lock-free Java Redis client and Netty framework, this library has a small following with just 8% of users among Tabnine’s user base.
Lettuce is a fully non-blocking Redis client also built with the Netty framework and it provides Reactive, Asynchronous and Synchronous Data Access. In our statistics, it was the choice of 5% of developers.
Redis embedded server for Java integration testing is not a very commonly used library according to Tabnine users, with under 2% of unique users.
The last on our list is Vert.x, a Redis client that provides an asynchronous API to interact with a Redis data-structure server. This library attracted slightly more than 0.5% of our users.
Do you think these numbers are representative of the overall developer community? Tell us in the comments!