Glossary of Terms
Using a third-party Redis Java client like Redisson will require you to know some important terminology. For the benefit of our users, we've provided this glossary of terms related to Java, Redis, and Redisson.
Cache Memory: A type of computer memory for temporarily storing information that is important or frequently accessed.
Cache Miss: An event where an application or system is unable to find information in cache memory, and must look for it in the slower main database.
Data Grid: An interconnected network of computers that share data and resources across the grid in pursuit of a common, highly complex goal.
Distributed caching: A caching technique in which the cache is distributed across multiple servers or machines in order to improve scalability and availability.
Distributed database: A database in which data is stored across multiple servers or machines.
Geospatial Data: Data that describes the geography of the Earth, including geographical features, coordinates, events, and weather and climate.
Hibernate second-level cache: A secondary cache implemented in the Hibernate object-relational mapping framework for the Java programming language.
HyperLogLog: An algorithm and related data structure for estimating the number of distinct elements in a very large set.
Java BitSet: A highly space-efficient data structure in the Java programming language that consists of a vector holding bit (boolean) values.
Java CountDownLatch: A synchronization tool in the Java programming language that requires a given number of threads to wait for all threads to finish their work before proceeding.
Java Deque: An implementation of the deque (double-ended queue) data structure, in which elements can be inserted and removed at either end, for the Java programming language.
Java Distributed Lock: A lock mechanism in the Java programming language that is capable of working with multiple threads running on different machines in a distributed system.
Java List: A data structure in the Java programming language that contains a countable number of elements in a sequential order.
Java LRU cache: A cache using the LRU (Least Recently Used) cache policy implemented in the Java programming language.
Java Map: An implementation of the map abstract data type, which associates unique keys with values, in the Java programming language.
Java multimap: A Java data structure introduced in Google's Guava library that allows multiple values to be associated with a single key.
Java Priority Queue: A data structure in the Java programming language that stores elements according to their priority.
Java Queue: An implementation of the queue data structure, which stores items in the order they arrived, for the Java programming language.
Java ReadWriteLock: An interface in the Java programming language that implements the concept of a read-write lock, in which multiple threads can read from a resource simultaneously but only one can write to it.
Java Semaphore: A synchronization tool in the Java programming language that controls the number of processes or threads that can access a given resources simultaneously.
Java Set: A data structure in the Java programming language that is a collection of countable, unordered, unique elements.
Java SortedSet: A data structure in the Java programming language that stores unique elements in a predefined order (e.g. smallest to largest for integers).
JCache: The standard caching API (application programming interface) for the Java programming language.
Key-Value Store: A non-relational database that consists of key-value pairs; each unique key is associated with a (possibly non-unique) value.
MapReduce: A programming model and software framework for using distributed computing to efficiently handle very large data sets.
Microservices: A software architectural style in which a larger application is composed of multiple smaller, loosely coupled, modular services.
Pub/sub: A software messaging pattern for asynchronous communication in serverless and microservices architectures that allows senders and recipients to operate independently.
Rate Limiter: A tool for controlling the rate of a program's execution or limiting the amount of incoming traffic.
Redis: An open-source, third-party data structure store used to implement NoSQL key-value databases, caches, and message brokers.
Redis Caching: The caching policies and strategies that are employed by Redis users.
Redis Cluster: A distributed implementation of Redis that automatically partitions data across multiple nodes in order to improve scalability and availability.
Redis Hash: A fundamental Redis data structure that implements the hash table abstract data type, in which unique keys correspond to (possibly non-unique) values.
Redis Master-Slave Replication: A technique in Redis to improve performance and redundancy by replicating multiple "slave" copies of the original "master" database.
Redis Sentinel: A high-availability solution for Redis that performs monitoring and error handling in distributed environments.
Redis Streams: A Redis data structure that consists of an append-only list for logging and sending messages.
Ring Buffer: An abstract data type that consists of a circular buffer, in which the last element is connected to the first.
Sharding: A technique for improving database scalability and availability that splits a single large database into multiple smaller tables.
Spring Cache: A cache implemented using the Spring framework for Java to improve application speed and performance.
Spring Session: A component of the Spring framework for Java that helps developers manage user session information.
Time Series Database: A database that has been designed to store time series data, i.e. data that has been tagged with timestamps.
Tomcat web session replication: The replication of web session data across multiple nodes in an Apache Tomcat cluster, in order to improve availability and scalability.