ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

springboot之RedisTemplate总结

2022-02-22 22:35:39  阅读:205  来源: 互联网

标签:总结 execute springboot keys args RedisTemplate new redisTemplate


使用

首先导入相关的RedisTemplate包

		<!--spring data redis 依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<!--commons-pool2 对象池依赖-->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pool2</artifactId>
		</dependency>

 然后添加配置类,添加配置

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory
                                                               connectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        //key序列器
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        //value序列器
        redisTemplate.setValueSerializer(new
                GenericJackson2JsonRedisSerializer());
        //Hash类型 key序列器
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        //Hash类型 value序列器
        redisTemplate.setHashValueSerializer(new
                GenericJackson2JsonRedisSerializer());
        redisTemplate.setConnectionFactory(connectionFactory);
        return redisTemplate;
    }

 之后就可以自动注入使用了

redisTemplate.execute()执行脚本

对于执行lua脚本的这个方法,传入参数,第一个是编写的lua脚本,第二个是对脚本传入key参数,第三个是传入value参数

第一个方法是用默认的key和value序列化器

public <T> T execute(RedisScript<T> script, List<K> keys, Object... args) {
        return scriptExecutor.execute(script, keys, args);
}

public <T> T execute(RedisScript<T> script, RedisSerializer<?> argsSerializer, RedisSerializer<T> resultSerializer,
         List<K> keys, Object... args) {
        return scriptExecutor.execute(script, argsSerializer, resultSerializer, keys, args);
}

 第二个是自己传入序列化器,根据具体情况选择


redis.call('exists', KEYS[1])
根据参数执行命令,此句表示是否存在k1

 

标签:总结,execute,springboot,keys,args,RedisTemplate,new,redisTemplate
来源: https://www.cnblogs.com/zhukaile/p/15925280.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有