Spring Boot(三) Redis使用入门

Spring Boot整合Redis实战教程
本文介绍了如何在Spring Boot项目中集成Redis,包括在pom.xml中添加Redis依赖,配置Redis,以及进行Redis的测试操作。
1.pom.xml 添加Redis 依赖配置
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>
<dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
</dependency>

2.创建Redis 服务类

@Repository
public class UserRedis {
    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    public void add(String key, Long time, User user) {
        Gson gson = new Gson();
        redisTemplate.opsForValue().set(key, gson.toJson(user), time, TimeUnit.MINUTES);
    }

    public void add(String key, Long time, List<User> users) {
        Gson gson = new Gson();
        redisTemplate.opsForValue().set(key, gson.toJson(users), time, TimeUnit.MINUTES);
    }

    public User get(String key) {
        Gson gson = new Gson();
        User user = null;
        String userJson = redisTemplate.opsForValue().get(key);
        if (!StringUtils.isEmpty(userJson))
            user = gson.fromJson(userJson, User.class);
        return user;
    }

    public List<User> getList(String key) {
        Gson gson = new Gson();
        List<User> ts = null;
        String listJson = redisTemplate.opsForValue().get(key);
        if (!StringUtils.isEmpty(listJson))
            ts = gson.fromJson(listJson, new TypeToken<List<User>>() {
            }.getType());
        return ts;
    }

    public void delete(String key) {
        redisTemplate.opsForValue().getOperations().delete(key);
    }
}
3.Redis 配置
# 配置连接redis 服务器参数
  redis:
    host: localhost
    port: 6379
4.Redis 测试
@Controller
@RequestMapping(value = "/redis")
public class RedisController {
    public static Logger logger = LoggerFactory.getLogger(RedisController.class);
    @Autowired
    UserRedis userRedis;

    @RequestMapping(value = "save")
    @ResponseBody
    public String saveUser(@RequestParam("id") String id) {
        Department department = new Department();
        department.setName("市场部:"+id);

        Role role = new Role();
        role.setName("admin:"+id);

        User user = new User();
        user.setName("user:"+id);
        user.setCreatedata(new Date());
        user.setDepartment(department);

        List<Role> roles = new ArrayList<>();
        roles.add(role);
        user.setRoles(roles);
        //userRedis.delete(this.getClass().getName() + ":userByname:" + user.getName());
        userRedis.add(id, 10L, user);
        return "success";
    }

    @RequestMapping(value = "get")
    @ResponseBody
    public void get(@RequestParam("id") String id) {
        User user = userRedis.get(id);
        logger.info("======user====== name:{}, deparment:{}, role:{}",
                user.getName(), user.getDepartment().getName(), user.getRoles().get(0).getName());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值