源于蚂蚁课堂的学习,点击这里查看(老余很给力)
安装步骤
#安装Redis前需按照gcc,读者可网上自行解决
#上传Redis的安装包(可在我上传的资源中免费下载,如下载需要积分,可私信我,我去调整积分为0)
redis-5.0.6.tar.gz
#解压我们的Redis安装包
tar -zxvf redis-5.0.6.tar.gz
#创建Redis的执行目录(看个人习惯,也可以直接安装在解压包中)
mkdir /usr/redis
cd /usr/redis
# 安装并设置命令前缀
make install PREFIX=/usr/redis
#启动Redis
cd /usr/redis/bin
./redis-server
此时出现Redis启动界面即表示安装成功
修改基本配置(redis.conf)
# 开启后台启动
daemonize yes
# 设置你的密码
requirepass 123456
#注释掉bind 127.0.0.1
#表示可以对外访问
protected-mode no
启动Redis服务器和客户端
#后台启动服务器
./redis-server redis.conf的路径
#启动客户端连接
#-h: host 服务所在服务器
#-p: port 启动占用的端口
#-a: auth 授权密码
./redis-cli -h ip -p port -a password
连接上去可以执行我们正常的操作了
常用类型赋值
Redis支持五种数据类型
String
set keyName value
get keyName
List
lpush keyName v1 v2 v3
lrange keyName 开始下标 结束下标
Hash
hmset keyName mapKey mapValue
hmgetall keyName
Set
sadd keyName v1 v2 v3
smembers keyName
Sorted Set
zadd keyName v1 v2
zrange keyName 开始下标 结束下标
SpringBoot整合Redis
maven依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<!-- 集成commons工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- 集成lombok 框架 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
<!-- SpringBoot-整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<!-- 管理依赖 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.M7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
工具类
// 二进制方式
@Component
public class RedisUtils {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public void setString(String key, String value) {
setString(key, value, null);
}
public void setString(String key, String value, Long timeOut) {
stringRedisTemplate.opsForValue().set(key, value);
if (timeOut != null) {
stringRedisTemplate.expire(key, timeOut, TimeUnit.SECONDS);
}
}
public String getString(String key) {
return stringRedisTemplate.opsForValue().get(key);
}
}
// 序列化方式
@Component
public class RedisTemplateUtils {
@Resource
private RedisTemplate<String, Object> redisTemplate;
public void setObject(String key, Object object) {
redisTemplate.opsForValue().set(key, object);
}
public Object getObjet(String key) {
return redisTemplate.opsForValue().get(key);
}
}
控制层
@RestController
public class IndexController {
@Autowired
private RedisUtils redisUtils;
@RequestMapping("/setRedis")
public void setRedisKey(UserEntity userEntity) {
redisUtils.setString("userEntity", JSONObject.toJSONString(userEntity));
}
@RequestMapping("/getRedis")
public UserEntity setRedisKey() {
String userEntityJson = redisUtils.getString("userEntity");
UserEntity userEntity = JSONObject.parseObject(userEntityJson, UserEntity.class);
return userEntity;
}
}
配置文件
spring:
redis:
host: 127.0.0.1
password: 123456
port: 6379