Redis的益处与简介我就不介绍了,间接进行上手装置配置;

1、redis装置

本文采纳docker去装置redis,如果间接本地装置也很不便,间接下载好安装包而后cmd窗口命令行启动就行。

  1. 拉取镜像
 Docker pull redis:4.0
  1. 启动镜像
  Docker run -itd --name redis-01 -p 6379:6379 #镜像id
  1. 放行端口
firewall-cmd --state #查看防火墙状态        systemctl start firewalld.service #启动防火墙        firewall-cmd --zone=public --add-port=6379/tcp --permanent #放行端口        system restart firewalld.service #重启防火墙        firewall-cmd --reload #从新载入配置        firewall-cmd --list-all #查看已凋谢的端口

2、Spring boot引入

2.1、引入maven依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId></dependency>

此处引入的是官网的starter,以往大家应用jedis,能够更具集体想法扭转。

2.2、根底配置

spring.redis.host=192.168.1.37#Redis服务器连贯端口spring.redis.port=6379#Redis服务器连贯明码(默认为空)spring.redis.password=#连接池最大连接数(应用负值示意没有限度)spring.redis.pool.max-active=8#连接池最大阻塞等待时间(应用负值示意没有限度)spring.redis.pool.max-wait=-1#连接池中的最大闲暇连贯spring.redis.pool.max-idle=8#连接池中的最小闲暇连贯spring.redis.pool.min-idle=0#连贯超时工夫(毫秒)spring.redis.timeout=30000

具体具体配置依据集体需要更改。实际上springboot有默认配置,能够间接不进行配置也能够应用。

2.3、RedisService

package com.ssk.shop.bll;/** * redis操作接口 */public interface IRedisBll { /** * 存储数据 */ void set(String key, String value); /** * 获取数据 */ String get(String key); /** * 设置超期工夫 */ boolean expire(String key, long expire); /** * 删除数据 */ void remove(String key); /** * 自增操作 * @param delta 自增步长 */ Long increment(String key, long delta);}

impl

package com.ssk.shop.bll.impl;import com.ssk.shop.bll.IRedisBll;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.concurrent.TimeUnit;@Servicepublic class IRedisBllImpl implements IRedisBll { @Resource private StringRedisTemplate stringRedisTemplate; @Override public void set(String key, String value) { stringRedisTemplate.opsForValue().set(key, value); } @Override public String get(String key) { return stringRedisTemplate.opsForValue().get(key); } @Override public boolean expire(String key, long expire) { return stringRedisTemplate.expire(key, expire, TimeUnit.SECONDS); } @Override public void remove(String key) { stringRedisTemplate.delete(key); } @Override public Long increment(String key, long delta) { return stringRedisTemplate.opsForValue().increment(key,delta); }}

能够对一些根底的办法进行封装,让平时一些操作更不便的去实现。

总结:redis是一个很好的缓存解决计划,我的项目总能够用户缓存一些罕用到的信息,加重对数据库的拜访压力,对于一些秒杀计划也是可选的计划,目前为止我的项目中将一些权限以及对token用redis进行惟一登录管制(单token失效)。