前段时间,自学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,不知道这种写法是否合适,有没有更好的写法,以后知道了,再来更新。

Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式

代码中实现了电码本ECB模式和密文分组连接CBC模式,SM3.java和SM4.java为算法实现类,utils的都是根据实现类写的工具,可以根据需要调用杂凑算法SM3的杂凑功...

阅读全文

Spring Data JPA使用复合主键

演示环境 MySQL 5.7 JDK1.8 spring-data-jpa 1.10.4.RELEASE hibernate 5.1.2.Final 这里演示一个余额宝的例子,一个用户一天一条记录,表示一个用户一天的收...

阅读全文

加密机相关

数据加密机主要用于实现对主机应用层数据加/解密、消息来源正确性验证、密钥管理等。全国大多数商业银行,城市一卡通系统、公交卡系统、社保卡系统、加油卡系...

阅读全文

欢迎留言