前段时间,自学redis时,公司的项目中遇见了一个选定指定库的问题
spring整合redis的配置网上到处都是就不说了,一般都是下面的配置方法

        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="xxx" />
        <property name="port" value="xxx" />
        <property name="password" value="xxx" />
        <property name="poolConfig">
            <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
                <property name="maxIdle" value="100" />
                <property name="maxWaitMillis" value="100000" />
                <property name="maxTotal" value="1000" />
                <property name="testOnBorrow" value="true" />
            </bean>
        </property>
    </bean>
 <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"
        scope="prototype">
        <property name="connectionFactory" ref="connectionFactory" />
    </bean>

可能还有指定默认数据库的配置,但是特殊数据需要保存到非指定的数据库时怎么办?
比如,默认使用的数据库dbindex 为0,有一个数据需要保存到dbindex 为2的数据库(特殊情况);
百度了很久都没有找到解决方案,都是说spring与redis整合的,后来查spring-data-redis的文档,文档上明确说明了支持选择数据库的命令,但是没有知道demo,自己根据api,用下面的代码,实现了选择数据库,代码如下:

RedisConnection redisConnection = redisTemplate.getConnectionFactory().getConnection();
        DefaultStringRedisConnection stringRedisConnection = new DefaultStringRedisConnection(redisConnection);
        stringRedisConnection.select(2);
        stringRedisConnection.set("test", "test");

虽然实现了切换数据库的目的,但是因为刚学习redis,不知道这种写法是否合适,有没有更好的写法,以后知道了,再来更新。

MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

MariaDB 作为 Mysql 的一个分支,在开源项目中已经广泛使用,例如大热的 openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必...

阅读全文

修改使用Alpine Linux的Docker容器的时区

适用对象 使用 Alpine Linux 发行版的 Docker 镜像容器。仅仅适用于没有安装uclibc的系统。 修改步骤 进入容器命令行 # docker exec -it contain...

阅读全文

CentOS下shadowsocks-libev一键安装脚本

本脚本适用环境: 系统支持:CentOS 内存要求:≥128M 日期:2018 年 06 月 01 日 关于本脚本: 一键安装 libev 版的 Shadowsocks 最新版本。该版本的特点...

阅读全文

欢迎留言