springboot之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

浙公网安备 33010602011771号