【Spring Boot && Spring Cloud系列】在spring-data-Redis中如何使用切换库

前言

Redis默认有16个库,默认连接的是index=0的那一个。这16个库直接是相互独立的。

一、在命令行中切换

select 1;

二、在Spring中如何切换

1、在RedisConnectionCommands中使用redisConnection.select(1);

2、在配置文件中设置(JedisConnectionFactory)

<!-- jedis的连接工厂 -->
    <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="${redis.host}"/>
        <property name="port" value="${redis.port}"/>
        <property name="database" value="${redis.database}"/>
        <property name="password" value="${redis.pass}"/>
        <property name="timeout" value="2000"/>
        <property name="poolConfig" ref="poolConfig"/>
    </bean>
/**
 * Sets the index of the database used by this connection factory. Default is 0.
 *
 * @param index database index
 */
public void setDatabase(int index) {
   Assert.isTrue(index >= 0, "invalid DB index (a positive index required)");
   this.dbIndex = index;
}

spring-redis.xml完整配置文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:util="http://www.springframework.org/schema/util"
 5        xsi:schemaLocation="
 6        http://www.springframework.org/schema/beans
 7        http://www.springframework.org/schema/beans/spring-beans.xsd
 8        http://www.springframework.org/schema/util
 9        http://www.springframework.org/schema/util/spring-util.xsd
10        ">
11
12     <!--jedis的连接池配置-->
13     <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
14         <!-- 最大空闲连接数量 -->
15         <property name="maxIdle" value="${redis.maxIdle}"/>
16         <!-- 最小空闲连接数量, 处理间隔时间为 timeBetweenEvictionRunsMillis -->
17         <property name="minIdle" value="${redis.minIdle}"/>
18         <!-- 池中持有的最大连接数量 -->
19         <property name="maxTotal" value="${redis.maxTotal}"/>
20         <!-- borrowObject 方法的最大等待时间 -->
21         <property name="maxWaitMillis" value="${redis.maxWait}"/>
22         <!-- 池中可用资源耗尽时, borrow 方法是否阻塞等待 maxWaitMillis 毫秒 -->
23         <property name="blockWhenExhausted" value="true"/>
24         <!-- borrowObject 时是否执行检测 -->
25         <property name="testOnBorrow" value="${redis.testOnBorrow}"/>
26         <!-- 是否检测空闲连接链接的有效性, 间隔时间为 timeBetweenEvictionRunsMillis -->
27         <property name="testWhileIdle" value="true"/>
28         <!-- 空闲对象被清除需要达到的最小空闲时间 -->
29         <property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}"/>
30         <!-- 空闲检测线程,sleep 间隔多长时间,去处理与idle相关的事情 -->
31         <property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}"/>
32     </bean>
33     <!-- jedis的连接工厂 -->
34     <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
35         <property name="hostName" value="${redis.host}"/>
36         <property name="port" value="${redis.port}"/>
37         <property name="database" value="${redis.database}"/>
38         <property name="password" value="${redis.pass}"/>
39         <property name="timeout" value="2000"/>
40         <property name="poolConfig" ref="poolConfig"/>
41     </bean>
42     <!--redis实际使用的template-->
43     <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
44         <property name="connectionFactory" ref="connectionFactory"/>
45         <property name="keySerializer">
46             <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
47         </property>
48         <property name="valueSerializer">
49             <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
50         </property>
51     </bean>
52     <!--spring session . 禁用 To disable the automatic configuration  -->
53     <util:constant
54             static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
55     <!--spring session 的redis配置-->
56     <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
57         <property name="maxInactiveIntervalInSeconds" value="3600"/>
58     </bean>
59
60 </beans>
时间: 2024-10-13 17:47:25

【Spring Boot && Spring Cloud系列】在spring-data-Redis中如何使用切换库的相关文章

Spring Boot 2.0.4整合Spring Data JPA和Druid,双数据源

最近Team开始尝试使用Spring Boot + Spring Data JPA作为数据层的解决方案,在网上逛了几圈之后发现大家并不待见JPA,理由是(1)MyBatis简单直观够用,(2)以Hibernate为底层的Spring Data JPA复杂且性能一般. 但是当我们来到Spring Boot的世界后发现,相较于Spring Data JPA,MyBatis对Spring Boot的支持有限,Spring Data JPA与Spring Boot结合可以让dao变得非常简单,比如(1)

Spring Boot 项目构建 之 使用 Spring Boot 构建应用(Building an Application with Spring Boot)

Table of contents What you'll build What you'll need How to complete this guide Build with Gradle Build with Maven Build with Spring Tool Suite Learn what you can do with Spring Boot Create a simple web application Create an Application class Run the

Spring Boot 揭秘与实战 附录 - Spring Boot 公共配置

Spring Boot 公共配置,配置 application.properties/application.yml 文件中. 摘自:http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html # =================================================================== # COMMON SPRING

Spring Boot 2.X(六):Spring Boot 集成 Redis

Redis 简介 什么是 Redis Redis 是目前使用的非常广泛的免费开源内存数据库,是一个高性能的 key-value 数据库. Redis 与其他 key-value 缓存(如 Memcached )相比有以下三个特点: 1.Redis 支持数据的持久化,它可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. 2.Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储. 3.Redis 支持数据的备份

Spring Boot 2.0(二):Spring Boot 开源软件都有哪些?(转)

2016年 Spring Boot 还没有被广泛使用,在网上查找相关开源软件的时候没有发现几个,到了现在经过2年的发展,很多互联网公司已经将 Spring Boot 搬上了生产,而使用 Spring Boot 的开源软件在 Github/码云 上面已有不少,这篇文章就给大家介绍一下 Github/码云 上面和 Spring Boot 相关的开源软件. 1. awesome-spring-boot 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关

Spring Boot(十八):使用Spring Boot集成FastDFS

Spring Boot(十八):使用Spring Boot集成FastDFS 环境:Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0 功能:使用Spring Boot将文件上传到分布式文件系统FastDFS中. 一.pom包配置 <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <ve

Spring boot学习(六)Spring boot实现AOP记录操作日志

前言 在实际的项目中,特别是管理系统中,对于那些重要的操作我们通常都会记录操作日志.比如对数据库的CRUD操作,我们都会对每一次重要的操作进行记录,通常的做法是向数据库指定的日志表中插入一条记录.这里就产生了一个问题,难道要我们每次在 CRUD的时候都手动的插入日志记录吗?这肯定是不合适的,这样的操作无疑是加大了开发量,而且不易维护,所以实际项目中总是利用AOP(Aspect Oriented Programming)即面向切面编程这一技术来记录系统中的操作日志. 日志分类 这里我把日志按照面向

《深入实践Spring Boot》第1章 Spring Boot入门

目录 第1章 Spring Boot入门 1.1 配置开发环境 1.1.1 安装JDK 1.1.2 安装InterlliJ IDEA 1.1.3 安装Apache Maven 1.1.4 安装Git客户端 1.2 创建项目工程 1.2.1 使用Maven新建项目 1.2.2 使用Spring Initializr新建项目 1.3 使用Spring Boot 1.3.1 Maven依赖管理 1.3.2 一个简单的实例 1.4 运行与发布 1.4.1 在IDEA环境中运行 1.4.2 将应用打包发布

Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)

拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现,底层通过动态代理模式完成. 2.定义实现类 拦截器有两种实现方式: 1.实现 HandlerInterceptor 接口 2.继承 HandlerInterceptorAdapter 抽象类(看源码最底层也是通过 HandlerInterceptor 接口 实现) 3.HandlerIntercep