安裝步驟
#安裝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