Redis中存入存入对象,取出时字符串转换成对象

 

public static void main(String[] args) {
		List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
		Map<String,Object> map = new HashMap<String,Object>();
		result.add(map);
		//现在这个rusult 是一个list对象 如果直接放到redis 在拿出来 是这样的
		String key = "resultKey";
		redisService.set(key,result.toString(),null,null);//直接存入是这样子的
		String str = redisService.get(key);//你会发现取出来是一个字符串 
		
		//------------------------------
		//其实我们可以这样子的
		//存入之前 先给他转换成json
		String strJson = JSON.toJSONString(result);
		//然后在存进去
		redisService.set(reportIds,str, null, null);
		Object result = redisService.get(reportIds);	//然后再取出来
		if(result != null){
			if(!StringUtils.isEmpty(result.toString())){
				List<Object> students = JSON.parseArray(result.toString(),Object.class); //直接用这个方法 然后就能把他转成曾经存入的样子 就是一个list的格式
			}	
		}
		
	}

其实我不知道如果直接存入字符串的话,取出来的时候 还是字符串怎么转换成jsonObject  所以就想着存进去的时候转换下

还是可以的存进去的时候用

String strJson = JSON.toJSONString(result);  这个方法

取出来的时候用

    List<Object> students = JSON.parseArray(result.toString(),Object.class);

自我感觉用着还不错  有什么不懂的可以问我。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
可以通过使用 Spring Data Redis 提供的 RedisTemplate 对象来实现 Redis 存取对象的功能。 首先需要在 pom.xml 文件添加 Redis 相关依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 接下来定义一个对象,例如一个 User 类: ```java public class User { private String id; private String name; // getter 和 setter 方法 } ``` 然后在 Spring Boot 的配置文件 application.properties 添加 Redis 连接信息: ```properties # Redis spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= spring.redis.database=0 ``` 接着定义一个 RedisService 类,提供存取对象的方法: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @Service public class RedisService { @Autowired private RedisTemplate<String, Object> redisTemplate; public void saveUser(User user) { redisTemplate.opsForValue().set(user.getId(), user); } public User getUser(String id) { return (User) redisTemplate.opsForValue().get(id); } } ``` 在上面的代码,我们通过 @Autowired 注解注入了 RedisTemplate 对象,在 saveUser 方法使用 opsForValue() 方法获取 Redis 的 Value 操作对象,然后调用 set 方法存储对象,getUser 方法通过 get 方法获取对象。 最后在需要存取对象的地方使用 RedisService 对象即可: ```java @RestController public class UserController { @Autowired private RedisService redisService; @RequestMapping("/saveUser") public String saveUser() { User user = new User(); user.setId("1"); user.setName("Tom"); redisService.saveUser(user); return "success"; } @RequestMapping("/getUser") public User getUser(String id) { return redisService.getUser(id); } } ``` 这里我们定义了两个接口,一个是保存用户信息的 saveUser 接口,另一个是获取用户信息的 getUser 接口。使用 Postman 等工具可以模拟请求这两个接口,从而实现 Redis 存取对象的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MM-BD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值