30.Spring-Boot或Spring Java Configuration中如何Spring-Data-Redis以及序列化方式
更多细节见https://blog.csdn.net/niugang0920/article/details/81530492
Spring框架是领先的全栈Java/JEE应用程序框架。它通过使用依赖注入、AOP和可移植的服务抽象来支持轻量级容器和非侵入性编程模型。
NoSQL存储系统为水平可扩展性和速度提供了传统RDBMS的替代方案。在实现方面,键值存储代表了NoSQL空间中最大(也是最老的)成员之一。
Spring Data Redis (SDR)框架通过Spring优秀的基础设施支持消除了与存储进行交互所需的冗余任务和样板代码,从而使编写使用Redis键值存储的Spring应用程序变得容易。
注意:Spring Data Redis 2.x需要Java 8以上jdk版本,spring4.3.17以上版本支持,Redis需要2.6+版本支持。具体对应版本可参考官方文档https://docs.spring.io/spring-data/redis/docs/
- 学习Spring
Spring Data使用Spring框架的核心功能,如IoC容器、资源抽象和AOP基础设施。虽然了解Spring api并不重要,但是理解它们背后的概念很重要。至少,IoC背后的想法应该是熟悉的。也就是说,你对Spring的了解越多,你就能越快地熟悉Spring Data.
- 学习NoSQL和关键值存储
NoSQL卷了存储世界。它是一个包含大量解决方案、术语和模式的庞大领域(更糟糕的是,即使术语本身也有多种含义)。虽然其中一些原则是通用的,但在某种程度上熟悉SDR支持的存储非常重要。了解这些解决方案的最好方法是阅读它们的文档并遵循它们的示例。通常不需要超过5到10分钟就能完成,而且,如果你来自一个只有眼球的背景,很多时候,这些练习都可以让你大开眼界。
- 通过RedisTemplate处理对象
大多数用户可能使用RedisTemplate以及它的coresponding包org.springframe.data.redis.core。
模板实际上是Redis模块的中心类,因为它有丰富的特性集。模板提供了Redis交互的高级抽象。虽然RedisConnection提供了接受和返回二进制值(字节数组)的低级方法,但是模板负责序列化和连接管理,使用户不必处理这些细节。
RedisTemplate的大部分操作都使用基于java的序列化器。这意味着模板编写或读取的任何对象都通过Java进行序列化和反序列化。您可以在模板上更改序列化机制,Redis模块提供了几个实现,这些实现在org.springframework.data.redis.serializer序列化程序包。您还可以将任何序列化器设置为null,并通过将enableDefaultSerializer属性设置为false,对原始字节数组使用RedisTemplate。注意,模板要求所有键都是非空的。但是,只要底层序列化器接受值,值就可以为空。
此外,该模板还提供了操作视图(从Redis命令引用中进行分组),提供了针对特定类型或特定键(通过KeyBound接口)工作的丰富的泛型接口。
Interface | Description |
---|---|
Key Type Operations 【Key的操作类型】 |
|
|
Redis geospatial operations, such as |
|
Redis hash operations(对Hash数据结构的支持) |
|
Redis HyperLogLog operations, such as |
|
Redis list operations (对List集合的支持) |
|
Redis set operations (对Set集合的支持) |
|
Redis string (or value) operations (对String数据类型的支持) |
|
Redis zset (or sorted set) operations (对有序集合的支持) |
|
|
Key Bound Operations |
|
|
Redis key bound geospatial operations |
|
Redis hash key bound operations |
|
Redis key bound operations |
|
Redis list key bound operations |
|
Redis set key bound operations |
|
Redis string (or value) key bound operations |
|
Redis zset (or sorted set) key bound operations |
BoundHashOperations |
Redis hash key bound operations |
BoundGeoOperations |
Redis key bound geospatial operations. |
- 具体演示,SpringBoot中,SpringJava配置同理
pom.xml
application.properties
RedisConfig.java
单元测试
微信公众号