前面已经写了四篇关于dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合的文章:
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(一)Dubbo的使用
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(二)之 JDBC连接池、监控组件 Druid
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(三)使用Spring AOP实现mysql的读写分离
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(四)Spring AOP中使用log4j实现http请求日志入mongodb
今天继续写一篇关于Spring中spring-data-redis的使用。
Redis是一种特殊的类型的数据库,它被称为一种key-value存储。key-value存储保存的是键值对。实际上,key-value存储于哈希Map有很大的相似。
spring data是一种面向模板的数据访问,能够在使用Redis的时候,为我们提供了帮助。于是就有了spring-data-redis。
1. spring-data-redis的简介
spring-data-redis包含了多个模板实现,用来完成Redis数据库的存取功能。创建spring-data-redis模板之前,我们首先需要一个Redis连接工厂,spring-data-redis提供了四个连接工厂供我们选择。
2.spring-data-redis所需要依赖
|
|
3. spring-data-redis的使用
3.1 连接到Redis
Redis连接工厂会生成到Redis数据库服务器的连接。spring-data-redis为四种Redis客户端实现了连接工厂:
- JedisConnectionFactory
- JredisConnectionFactory
- LettuceConnectionFactory
SrpConnectionFactory
具体选择哪一种取决于自己。
(1)创建redis.properties:
|
|
(2)创建spring-redis.xml
|
|
以上是我配置的jedisPoolConfig,jedisConnectionFactory,redisTemplate。
3.2 使用RedisTemplate
Redis连接工厂会生成到Redis key-value存储的连接(以RedisConnection的形式。)借助RedisConnection,可以存储和读取数据。
spring-redis-data以模板的形式提供了较好等级的数据访问方案。实际上,spring-data-redis提供了两个模板:
- RedisTemplate
- StringRedisTemplate
其中RedisTemplate使用两个类型进行了参数。第一个参数是key的类型,第二个参数是value的类型,而StringRedisTemplate是RedisTemplate的扩展,只关注String类型,也就是key和vlaue都是String类型。
3.2.1 RedisTemplate使用简单值
假设我们想通过RedisTemplate
|
|
3.2.2 RedisTemplate使用List值
使用List类型的value与之类似,只需要使用opForList()方法,
|
|
3.2.3 RedisTemplate使用Set值
除了使用List类型和value类型,我们还可以使用opForSet()的方法操作Set,最为常用的的就是向Set中添加一个元素:
|
|
在我们有多个Set,并对这些Set集合进行差、交、并的操作。
|
|
3.2.4 RedisTemplete绑定到某个key上
我们可以将Value、List、Set等可以绑定到指定的key上。这些用个的不太多,但是也简单。这里就不具体写了。
3.2.5 构造AbstractBaseRedisTemplete
|
|
Spring-Data-Redis的使用基本最常用 的就是这三种类型value类型、List类型、Set类型。