springboot之RedisTemplate总结
使用
首先导入相关的RedisTemplate包
1 2 3 4 5 6 7 8 9 10 | <!--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> |
然后添加配置类,添加配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @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序列化器
1 | public <T> T execute(RedisScript<T> script, List<K> keys, Object... args) {<br> return scriptExecutor.execute(script, keys, args);<br>}<br><br> public <T> T execute(RedisScript<T> script, RedisSerializer<?> argsSerializer, RedisSerializer<T> resultSerializer,<br> List<K> keys, Object... args) {<br> return scriptExecutor.execute(script, argsSerializer, resultSerializer, keys, args);<br>} |
第二个是自己传入序列化器,根据具体情况选择
redis.call('exists', KEYS[1])
根据参数执行命令,此句表示是否存在k1
本文作者:durtime
本文链接:https://www.cnblogs.com/durtime/p/15925280.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-02-22 家庭账本开发day11