配置RedisTemplate、JedisPoolConfig、JedisConnectionFactory+自定义序列化 (xml+java方式)+使用

摘要:
beanid=“poolConfig”class=“redis.clients.jedis.JedisPoolConfig”>propertyname=“maxWaitMillis”value=“20000”/>propertyname=“hostName”value=“localhost”/>propertyname=“port”value=“6379”/>&书信电报;

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);

免责声明:文章转载自《配置RedisTemplate、JedisPoolConfig、JedisConnectionFactory+自定义序列化 (xml+java方式)+使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动iOS 取消警告下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DELPHI移动端支付宝支付

Delphi XE7 Android 应用接入支付宝SDK的方法     1      应用场景和准备工作: 采用XE系列开发的android apps。 apps中需要集成支付宝的支付能力。 支付到指定的商家(一般就是软件开发商自己啦),商家需要事先在支付宝的开放平台申请开通【支付宝无线快捷支付】,具体请百度。 开通【无线快捷支付】后,支付宝应该返回给...

Debian 环境安装新版 nginx

在 Debian 系统中,我们可以通过 apt-get 安装系统自带的 nginx,这样安装的 nginx 版本略旧。Nginx 官网提供了一些编辑绎好的 deb 安装包,我们只需更新安装源,就可以通过 apt-get 来安装最新的稳定版 Nginx 了。  加载安装源并导入key $ echo deb http://nginx.org/packages...

CKEditor扩展插件:自动排版功能

CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。 如果还没接触过的可以看看,在线演示地址:http://ckeditor.com/demo 当然了,今天我们的主要目的还不是介绍。 还未下载CKEditor的同学可以点击下载:http:...

Mybatis标签及使用1

Mysatis的特点是以SQL语句为核心的不完全的ORM(关系型映射)框架 parameterType:在SQL映射文件中指定输入参数类型的,基本类型(int、float)、包装数据类型(String、Integer)以及用户自己编写的JavaBean封装类 resultType:指定数据库返回信息对应的Java的数据类型。在加载SQL配置,并绑定指定输入...

智能指针的实现(指针运算符重载)

智能指针的实现 Person类有showAge 成员函数 如果new出来的Person对象,就要让程序员自觉的去释放  delete 有了智能指针,让智能指针托管这个Person对象,对象的释放就不用操心了,让智能指针管理 为了让智能指针想普通的Person*指针一样使用 就要重载 -> 和* #define _CRT_SECURE_NO_WARNI...

毕业设计 python opencv实现车牌识别 预处理

主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuowu 首先我们需要一个函数可以随时获取图片,无论在什么地方 filename = askopenfilename(title="选择识别图片", filetyp...