springboot中,使用redisTemplate操作redis
知识点:
springboot中整合redis
springboot中redisTemplate的使用
redis存数据时,key出现乱码问题
一:springboot中整合redis
(1)pom.xml文件中引入依赖
<!--加入redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> (2)application.yml文件中加入redis相关配置
host:redis 服务器地址
port:6379 端口
database:数据库索引(默认为0)
password:服务器连接密码(默认为空)
timeout:连接超时时间(毫秒)
二:springboot中redisTemplate的使用
(1)redis操作的工具类RedisUtil
(2)使用redisTemplate存取数据
service层(hash值):
//存取redis值
public Map<String, Object> testRedisTemplate(Integer id){ //id=1852
Map<String, Object> user=new HashMap<>();
Map<String, Object> userResult=redisUtil.getHash("USER_BY_ID"+id);
//如果redis中,没有存放值,存入redis
if(userResult.size()==0){
user = userMapper.findUserById(id);
redisUtil.setHash("USER_BY_ID"+id, user,120L); //120L是有效时间120秒,120秒以后redis中的数据自动删除
}else{
//如果redis中,有值,直接取redis中的值
user=userResult;
}
return user;
}
redis中存放的数据:

三:redis存数据时,key的乱码问题
上面redis中存放的名字和值都乱码了,该如何解决呢?
我们可以在RedisUtil工具类中加
//解决乱码问题
@Autowired(required = false)
public void setRedisTemplate(RedisTemplate redisTemplate) {
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setValueSerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
this.redisTemplate = redisTemplate;
}
改过之后,redis存放的结果源码:https://github.com/shuaishuaihand/cacheandredis.git
springboot中,使用redisTemplate操作redis的更多相关文章
- Spring中使用RedisTemplate操作Redis(spring-data-redis)
RedisTemplate如何检查一个key是否存在? return getRedisTemplate().hasKey(key); 由一个问题,复习了一下redis 抄自: https://www. ...
- spring-data-redis 中使用RedisTemplate操作Redis
Redis 数据结构简介 Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集合 ...
- SpringBoot中Shiro缓存使用Redis、Ehcache
在SpringBoot中Shiro缓存使用Redis.Ehcache实现的两种方式实例 SpringBoot 中配置redis作为session 缓存器. 让shiro引用 本文是建立在你是使用这sh ...
- JAVA中通过Jedis操作Redis连接与插入简单库
一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...
- springboot中使用cache和redis
知识点:springboot中使用cache和redis (1)springboot中,整合了cache,我们只需要,在入口类上加 @EnableCaching 即可开启缓存 例如:在service层 ...
- Java 使用Jedis和RedisTemplate操作Redis缓存(SpringBoot)
package com.example.redis.controller; import com.example.redis.entity.User; import com.example.redis ...
- 在Java中使用redisTemplate操作缓存
背景 在最近的项目中,有一个需求是对一个很大的数据库进行查询,数据量大概在几千万条.但同时对查询速度的要求也比较高. 这个数据库之前在没有使用Presto的情况下,使用的是Hive,使用Hive进行一 ...
- SpringBoot中注入RedisTemplate实例异常解决(转)
最近,在项目开发过程中使用了RedisTemplate,进行单元测试时提示“Field redisTemplate in com.example.demo1.dao.RedisDao required ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
随机推荐
- Leetcode之148. Sort List Medium
https://leetcode.com/problems/sort-list/ Sort a linked list in O(n log n) time using constant space ...
- 【数据库开发】MySQL修改root密码
方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass ...
- 关于PADS的一些概念和实用技巧(二)
关于PADS的一些概念和实用技巧(二) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 1. 关于制作part 首先在logic中绘制CAE封装,在保存元件时 ...
- php 大数组 foreach 循环嵌套的性能优化
前提:最近在做后台的时候,页面加载太慢,故第一时间想到的自然是优化SQL, 优化后sql查询速度从 2秒变成了零点几秒, 以为就这麽完事了,然并卵,加载竟然花费30秒! 这麽慢,然后在代码中分块记录它 ...
- selenium 获取不了标签文本的解决方法
selenium 获取不了标签文本的解决方法 ------ 即driver.find_element_by_xxx().text() 为空的解决办法 如果得到的文本只为空,而非我们期望的baidu,那 ...
- kolla安装Queens版本OpenStack(ceph后端)
OpenStack all-in-one部署: 本次部署为OpenStack Queens版本部署,使用All-in-one,单节点部署. 物理资源:8核,32GB,硬盘400GB(3个盘),2网卡. ...
- 【基本优化实践】【1.6】在sql server修改且移动数据库文件位置
在master数据库中,SQL Server提供系统扩展的存储过程,其中有一些存储过程的命名以xp_开头,用于处理操作系统的文件. 一,判断文件是否存在 存储过程sys.xp_fileexist 用于 ...
- java--demo之猜拳游戏
版本1:人机大战 基础随机出 用户键盘录入 package com.hainiu.demo; import java.util.Scanner; /* * 人机大战石头剪刀布 */ publi ...
- 路由器设置 WDS 桥接
步骤: 1.先更改路由器LAN口地址,然后重启路由器 2.连接SSID信道名称,先关闭DHCP服务,然后进入无线设置,基本设置,更改SSID号,开启WDS桥接,保存 3.连接新的SSID名称,无线设置 ...
- python学习-39 生成器总结
总结 1.语法上和函数类似:生成器函数和常规函数几乎是一样的.它们都是使用def语句进行定义,差别在于,生成器使用yield语句返回一个值,常规函数使用return语句返回一个值. 2.自动实现迭代器 ...

源码:https://github.com/shuaishuaihand/cacheandredis.git