zoukankan      html  css  js  c++  java
  • 配置RedisTemplate、JedisPoolConfig、JedisConnectionFactory+自定义序列化 (xml+java方式)+使用

    java方式配置RedisTemplate

      //spring注入ben
       //@Bean(name = "redisTemplate")
        public RedisTemplate initRedisTemplate(){
        JedisPoolConfig poolConfig = new JedisPoolConfig();
            //最大空闲数
            poolConfig.setMaxIdle(50);
            //最大连接数
            poolConfig.setMaxTotal(100);
            //最大等待毫秒
            poolConfig.setMaxWaitMillis(20000);    
    
    
       //创建Jedis
            JedisConnectionFactory connectionFactory = new JedisConnectionFactory();
            connectionFactory.setHostName("localhost");
            connectionFactory.setPort(6379);
            //调用后初始化方法,没有它将抛出异常
            connectionFactory.afterPropertiesSet();
    //自定义Redis序列化器
            RedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer();
            RedisSerializer stringRedisSerializer = new StringRedisSerializer();
            //定义连接RedisTemplate,并设置连接工程
            RedisTemplate redisTemplate = new RedisTemplate();
            redisTemplate.setConnectionFactory(connectionFactory);
            //设置序列化器
            redisTemplate.setDefaultSerializer(stringRedisSerializer);
            redisTemplate.setKeySerializer(stringRedisSerializer);
            redisTemplate.setValueSerializer(jdkSerializationRedisSerializer);
            redisTemplate.setHashKeySerializer(stringRedisSerializer);
            redisTemplate.setHashValueSerializer(jdkSerializationRedisSerializer);
            return redisTemplate;
        }

     xml方式配置

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <!-- 配置JedisPoolConfig-->
        <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
            <property name="maxIdle" value="50"/>
            <property name="maxTotal" value="100"/>
            <property name="maxWaitMillis" value="20000"/>
        </bean>
        <!--配置JedisConnectionFactory-->
        <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
            <property name="hostName" value="localhost"/>
            <property name="port" value="6379"/>
            <property name="poolConfig" ref="poolConfig"/>
        </bean>
        <!--使用字符串进行序列化-->
        <bean id="stringReadisSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
        <!--使用JDK的序列化器进行转化-->
        <bean id="jdkSerializationRedisSerializer" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
        <!--配置Spring RedisTemplate-->
        <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
            <property name="connectionFactory" ref="connectionFactory"/>
            <property name="keySerializer" ref="stringReadisSerializer"/>
            <property name="valueSerializer" ref="stringReadisSerializer"/>
        </bean>
    </beans>

     使用:

    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-redis.xml");
            RedisTemplate redisTemplate = applicationContext.getBean(RedisTemplate.class);
     //设值
            redisTemplate.opsForValue().set("key1","value1");
            redisTemplate.opsForValue().set("key2","value2");
            //取值
            String value1 = (String) redisTemplate.opsForValue().get("key1");
            System.out.println(value1);
  • 相关阅读:
    IDEA右键新建时没有Java Class选项
    捕获摄像头视频VC
    重叠IO与IOCP
    (八)内存管理与内存分配
    DebugView使用详解
    (六) 中断机制
    (五) proc文件系统
    bash 之备份文件
    bash 遍历目录文件
    (四) linux内核模块编程
  • 原文地址:https://www.cnblogs.com/weibanggang/p/10188682.html
Copyright © 2011-2022 走看看