# 2.1 Redis缓存初体验

作为基于键值对的NoSQL数据库,Redis支持五种数据类型:字符串(string)类型、哈希(hash)类型、列表(list)类型、集合(set)类型和有序集合(sorted set或zset)类型.

## 2.1.1 用redis-cli启动客户端并缓存数据

启动容器:

```
docker exec -it myFirstRedis /bin/bash
root@db18e24f57c6:/data# 
```

连接Redis并使用string类型进行存储:

```
root@db18e24f57c6:/data# redis-cli
127.0.0.1:6379> set CSDN https://www.csdn.net/
OK
127.0.0.1:6379> set baidu www.baidu.com
OK
127.0.0.1:6379> get CSDN
"https://www.csdn.net/"
127.0.0.1:6379> get baidu
"www.baidu.com"
```

注意:这里的对应关系是存储(或者称为缓存)在Redis服务器上的,且本例中使用的是"string"类型来缓存数据.

## 2.1.2 设置数据的生存时间

在命令后使用`ex`或`px`参数来设置该对象的生存周期.其中:

* `ex`: 设置生存周期的单位为秒
* `px`: 设置生存周期的单位为毫秒

例:设置`val`对象的生存周期为5s:

```
127.0.0.1:6379> set val 100 ex 5
OK
```

例:设置`valWithShort`对象的生存周期为100ms:

```
127.0.0.1:6379> set valWithShort 200 px 100
OK
```

过了5秒后尝试使用`get`命令获取`val`对象和`valWithShort`对象的值:

```
127.0.0.1:6379> get val
(nil)
```

```
127.0.0.1:6379> get valWithShort
(nil)
```

可以看到得到的表示`null`的`nil`值
