Skip to content

Full editing pass for Spring Data Redis #331

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/main/asciidoc/appendix/appendix-command-reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
[appendix]
= Command Reference

== Supported commands
.Redis commands supported by RedisTemplate.
== Supported Commands
.Redis commands supported by `RedisTemplate`
[width="50%",cols="<2,^1",options="header"]
|=========================================================
|Command |Template Support
Expand Down Expand Up @@ -181,4 +181,4 @@
|ZSCAN |X
|ZSCORE |X
|ZUNINONSTORE |X
|=========================================================
|=========================================================
2 changes: 1 addition & 1 deletion src/main/asciidoc/appendix/appendix-schema.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
= Schema
:resourcesDir: ../../resources

== Core schema
== Core Schema

[source,xml]
-------------------------------------------
Expand Down
7 changes: 4 additions & 3 deletions src/main/asciidoc/appendix/introduction.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[float]
= Appendix Document structure
= Appendix Document Structure

Various appendixes outside the reference documentation.
The appendix contains various additional detail that complements the information in the rest of the reference documentation:

<<appendix:schema>> defines the schemas provided by Spring Data Redis.
* "`<<appendix:schema>>`" defines the schemas provided by Spring Data Redis.

* "`<<appendix:command-reference>>`" details which commands are supported by `RedisTemplate`.
5 changes: 2 additions & 3 deletions src/main/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
= Spring Data Redis
Costin Leau, Jennifer Hickey, Christoph Strobl, Thomas Darimont, Mark Paluch
Costin Leau, Jennifer Hickey, Christoph Strobl, Thomas Darimont, Mark Paluch, Jay Bryant
:revnumber: {version}
:revdate: {localdate}
:toc:
:toc-placement!:
:toc: left
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving out this change until we have all modules polished up so we can apply TOC placement for all modules in almost a single shot.

:spring-data-commons-include: ../../../../spring-data-commons/src/main/asciidoc
:spring-data-commons-docs: https://raw.githubusercontent.com/spring-projects/spring-data-commons/master/src/main/asciidoc

Expand Down
27 changes: 13 additions & 14 deletions src/main/asciidoc/introduction/getting-started.adoc
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
[[get-started]]
= Getting Started

Learning a new framework is not always straight forward. In this section, we (the Spring Data team) tried to provide, what we think is, an easy to follow guide for starting with the Spring Data Redis module. Of course, feel free to create your own learning 'path' as you see fit and, if possible, please report back any improvements to the documentation that can help others.
This section provides an easy-to-follow guide for getting started with the Spring Data Redis module.

[[get-started:first-steps]]
== First Steps

As explained in <<why-spring-redis>>, Spring Data Redis (SDR) provides integration between Spring framework and the Redis key value store. Thus, it is important to become acquainted with both of these frameworks (storages or environments depending on how you want to name them). Throughout the SDR documentation, each section provides links to resources relevant however, it is best to become familiar with these topics beforehand.
As explained in <<why-spring-redis>>, Spring Data Redis (SDR) provides integration between the Spring framework and the Redis key-value store. Consequently, you should become acquainted with both of these frameworks. Throughout the SDR documentation, each section provides links to relevant resources. However, you should become familiar with these topics before reading this guide.

[[get-started:first-steps:spring]]
=== Knowing Spring
=== Learning Spring

Spring Data uses heavily Spring framework's http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html[core] functionality, such as the http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html[IoC] container, http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html#resources[resource] abstract or http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html#aop[AOP] infrastructure. While it is not important to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar. That being said, the more knowledge one has about the Spring, the faster she will pick up Spring Data Redis. Besides the very comprehensive (and sometimes disarming) documentation that explains in detail the Spring Framework, there are a lot of articles, blog entries and books on the matter - take a look at the Spring Guides http://spring.io/guides[home page] for more information. In general, this should be the starting point for developers wanting to try Spring DR.
Spring Data uses Spring framework's http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html[core] functionality, such as the http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html[IoC] container, http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html#resources[resource] abstract, and the http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/core.html#aop[AOP] infrastructure. While it is not important to know the Spring APIs, understanding the concepts behind them is important. At a minimum, the idea behind IoC should be familiar. That being said, the more knowledge you have about the Spring, the faster you can pick up Spring Data Redis. In addition to the Spring Framework's comprehensive documentation, there are a lot of articles, blog entries, and books on the matter. The Spring Guides http://spring.io/guides[home page] offer a good place to start. In general, this should be the starting point for developers wanting to try Spring Data Redis.

[[get-started:first-steps:nosql]]
=== Knowing NoSQL and Key Value stores
=== Learning NoSQL and Key Value Stores

NoSQL stores have taken the storage world by storm. It is a vast domain with a plethora of solutions, terms and patterns (to make things worse even the term itself has multiple http://www.google.com/search?q=nosoql+acronym[meanings]). While some of the principles are common, it is crucial that the user is familiar to some degree with the stores supported by SDR. The best way to get acquainted with these solutions is to read their documentation and follow their examples - it usually doesn't take more then 5-10 minutes to go through them and if you are coming from an RDMBS-only background many times these exercises can be an eye opener.
NoSQL stores have taken the storage world by storm. It is a vast domain with a plethora of solutions, terms, and patterns (to make things worse, even the term itself has multiple http://www.google.com/search?q=nosoql+acronym[meanings]). While some of the principles are common, it is crucial that you be familiar to some degree with the stores supported by SDR. The best way to get acquainted with these solutions is to read their documentation and follow their examples. It usually does not take more then five to ten minutes to go through them and, if you come from an RDMBS-only background, many times these exercises can be eye-openers.

[[get-started:first-steps:samples]]
=== Trying Out The Samples
=== Trying out the Samples

One can find various samples for key value stores in the dedicated example repo, at https://github.com/spring-projects/spring-data-keyvalue-examples[http://github.com/spring-projects/spring-data-keyvalue-examples]. For Spring Data Redis, of interest is the `retwisj` sample, a Twitter-clone built on top of Redis which can be run locally or be deployed into the cloud. See its http://static.springsource.org/spring-data/data-keyvalue/examples/retwisj/current/[documentation], the following blog http://blog.springsource.com/2011/04/27/getting-started-redis-spring-cloud-foundry/[entry] or the http://retwisj.cloudfoundry.com/[live instance] for more information.
One can find various samples for key-value stores in the dedicated Spring Data example repo, at https://github.com/spring-projects/spring-data-keyvalue-examples[http://github.com/spring-projects/spring-data-keyvalue-examples]. For Spring Data Redis, you should pay particular attention to the `retwisj` sample, a Twitter-clone built on top of Redis that can be run locally or be deployed into the cloud. See its http://static.springsource.org/spring-data/data-keyvalue/examples/retwisj/current/[documentation], the following blog http://blog.springsource.com/2011/04/27/getting-started-redis-spring-cloud-foundry/[entry] or the http://retwisj.cloudfoundry.com/[live instance] for more information.

[[get-started:help]]
== Need Help?

If you encounter issues or you are just looking for advice, feel free to use one of the links below:
If you encounter issues or you are just looking for advice, use one of the links below:

[[get-started:help:community]]
=== Community Support

The Spring Data tag on http://stackoverflow.com/questions/tagged/spring-data[Stackoverflow] is a message board for all Spring Data (not just Redis) users to share information and help each other. Note that registration is needed *only* for posting.
The Spring Data tag on http://stackoverflow.com/questions/tagged/spring-data[Stack Overflow] is a message board for all Spring Data (not just Redis) users to share information and help each other. Note that registration is needed *only* for posting.

[[get-started:help:professional]]
=== Professional Support
Expand All @@ -41,14 +41,13 @@ Professional, from-the-source support, with guaranteed response time, is availab
[[get-started:up-to-date]]
== Following Development

For information on the Spring Data source code repository, nightly builds and snapshot artifacts please see the Spring Data home http://spring.io/spring-data[page].
For information on the Spring Data source code repository, nightly builds, and snapshot artifacts, see the Spring Data home http://spring.io/spring-data[page].

You can help make Spring Data best serve the needs of the Spring community by interacting with developers on Stackoverflow at either
You can help make Spring Data best serve the needs of the Spring community by interacting with developers on Stack Overflow at either
http://stackoverflow.com/questions/tagged/spring-data[spring-data] or http://stackoverflow.com/questions/tagged/spring-data-redis[spring-data-redis].

If you encounter a bug or want to suggest an improvement, please create a ticket on the Spring Data issue https://jira.springsource.org/browse/DATAREDIS[tracker].
If you encounter a bug or want to suggest an improvement (including to this documentation), please create a ticket on the Spring Data issue https://jira.springsource.org/browse/DATAREDIS[tracker].

To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the Spring Community http://spring.io/[Portal].

Lastly, you can follow the Spring http://spring.io/blog/[blog] or the project team (http://twitter.com/SpringData[@SpringData]) on Twitter.

5 changes: 2 additions & 3 deletions src/main/asciidoc/introduction/introduction.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
This document is the reference guide for Spring Data Redis (SDR) Support. It explains Key Value module concepts and semantics and the syntax for various stores namespaces.

For an introduction to key value stores or Spring, or Spring Data examples, please refer to <<get-started>> - this documentation refers only to Spring Data Redis Support and assumes the user is familiar with the key value storages and Spring concepts.
This document is the reference guide for Spring Data Redis (SDR) Support. It explains Key-Value module concepts and semantics and the syntax for various stores namespaces.

For an introduction to key-value stores, Spring, or Spring Data examples, see <<get-started>>. This documentation refers only to Spring Data Redis Support and assumes the user is familiar with key-value storage and Spring concepts.
5 changes: 2 additions & 3 deletions src/main/asciidoc/introduction/requirements.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[[requirements]]
= Requirements

Spring Data Redis 1.x binaries requires JDK level 6.0 and above, and http://projects.spring.io/spring-framework/[Spring Framework] {springVersion} and above.

In terms of key value stores, http://redis.io[Redis] 2.6.x or higher is required. Spring Data Redis is currently tested against the latest 3.2 release.
Spring Data Redis 1.x binaries require JDK level 6.0 and above and http://projects.spring.io/spring-framework/[Spring Framework] {springVersion} and above.

In terms of key-value stores, http://redis.io[Redis] 2.6.x or higher is required. Spring Data Redis is currently tested against the latest 3.2 release.
5 changes: 2 additions & 3 deletions src/main/asciidoc/introduction/why-sdr.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

The Spring Framework is the leading full-stack Java/JEE application framework. It provides a lightweight container and a non-invasive programming model enabled by the use of dependency injection, AOP, and portable service abstractions.

http://en.wikipedia.org/wiki/NoSQL[NoSQL] storages provide an alternative to classical RDBMS for horizontal scalability and speed. In terms of implementation, Key Value stores represent one of the largest (and oldest) members in the NoSQL space.

The Spring Data Redis (or SDR) framework makes it easy to write Spring applications that use the Redis key value store by eliminating the redundant tasks and boiler plate code required for interacting with the store through Spring's excellent infrastructure support.
http://en.wikipedia.org/wiki/NoSQL[NoSQL] storage systems provide an alternative to classical RDBMS for horizontal scalability and speed. In terms of implementation, key-value stores represent one of the largest (and oldest) members in the NoSQL space.

The Spring Data Redis (SDR) framework makes it easy to write Spring applications that use the Redis key-value store by eliminating the redundant tasks and boilerplate code required for interacting with the store through Spring's excellent infrastructure support.
23 changes: 11 additions & 12 deletions src/main/asciidoc/new-features.adoc
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[[new-features]]
= New Features

New and noteworthy in the latest releases.
This section briefly covers items that are new and noteworthy in the latest releases.

[[new-in-2.1.0]]
== New in Spring Data Redis 2.1

* Unix domain socket connections using <<redis:connectors:lettuce,Lettuce>>.
* <<redis:write-to-master-read-from-slave, Write to Master read from Slave>> support using Lettuce.
* <<redis:write-to-master-read-from-slave, Write to Master, read from Slave>> support using Lettuce.
* <<query-by-example,Query by Example>> integration.
* `@TypeAlias` Support for Redis repositories.
* Cluster-wide `SCAN` using Lettuce and `SCAN` execution on a selected node supported by both drivers.
Expand All @@ -20,7 +20,7 @@ New and noteworthy in the latest releases.
* Removed support for SRP and JRedis drivers.
* <<redis:reactive,Reactive connection support using Lettuce>>.
* Introduce Redis feature-specific interfaces for `RedisConnection`.
* Improved `RedisConnectionFactory` configuration via `JedisClientConfiguration` and `LettuceClientConfiguration`.
* Improved `RedisConnectionFactory` configuration with `JedisClientConfiguration` and `LettuceClientConfiguration`.
* Revised `RedisCache` implementation.
* Add `SPOP` with count command for Redis 3.2.

Expand All @@ -31,10 +31,10 @@ New and noteworthy in the latest releases.
* Upgrade to `Lettuce` 4.2 (Note: Lettuce 4.2 requires Java 8).
* Support for Redis http://redis.io/commands#geo[GEO] commands.
* Support for Geospatial Indexes using Spring Data Repository abstractions (see <<redis.repositories.indexes.geospatial>>).
* `MappingRedisConverter` based `HashMapper` implementation (see <<redis.hashmappers.root>>).
* Support for `PartialUpdate` in repository support (see <<redis.repositories.partial-updates>>).
* `MappingRedisConverter`-based `HashMapper` implementation (see <<redis.hashmappers.root>>).
* Support for `PartialUpdate` in repositories (see <<redis.repositories.partial-updates>>).
* SSL support for connections to Redis cluster.
* Support for `client name` via `ConnectionFactory` when using Jedis.
* Support for `client name` through `ConnectionFactory` when using Jedis.

[[new-in-1.7.0]]
== New in Spring Data Redis 1.7
Expand All @@ -47,14 +47,13 @@ New and noteworthy in the latest releases.

* The `Lettuce` Redis driver switched from https://github.com/wg/lettuce[wg/lettuce] to https://github.com/mp911de/lettuce[mp911de/lettuce].
* Support for `ZRANGEBYLEX`.
* Enhanced range operations for `ZSET` s including `+inf` / `-inf`.
* Performance improvements in `RedisCache` now releasing connections earlier.
* Enhanced range operations for `ZSET`, including `+inf` / `-inf`.
* Performance improvements in `RedisCache`, now releasing connections earlier.
* Generic Jackson2 `RedisSerializer` making use of Jackson's polymorphic deserialization.

[[new-in-1-5-0]]
== New in Spring Data Redis 1.5

* Add support for Redis HyperLogLog commands `PFADD`, `PFCOUNT` and `PFMERGE`.
* Configurable `JavaType` lookup for Jackson based `RedisSerializers`.
* `PropertySource` based configuration for connecting to Redis Sentinel (see: <<redis:sentinel>>).

* Add support for Redis HyperLogLog commands: `PFADD`, `PFCOUNT`, and `PFMERGE`.
* Configurable `JavaType` lookup for Jackson-based `RedisSerializers`.
* `PropertySource`-based configuration for connecting to Redis Sentinel (see: <<redis:sentinel>>).
3 changes: 1 addition & 2 deletions src/main/asciidoc/preface.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
= Preface

The Spring Data Redis project applies core Spring concepts to the development of solutions using a key-value style data store. We provide a "template" as a high-level abstraction for sending and receiving messages. You will notice similarities to the JDBC support in the Spring Framework.

The Spring Data Redis project applies core Spring concepts to the development of solutions by using a key-value style data store. We provide a "`template`" as a high-level abstraction for sending and receiving messages. You may notice similarities to the JDBC support in the Spring Framework.
1 change: 0 additions & 1 deletion src/main/asciidoc/reference/introduction.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@
This part of the reference documentation explains the core functionality offered by Spring Data Redis.

<<redis>> introduces the Redis module feature set.

Loading