## 一、Redis安装与启动 Redis (REmote DIctionary Server) 是一个开源的、内存中的 **数据结构存储系统**。它通常被用作 **数据库、缓存、消息代理** 和 **流处理引擎**。其核心特点在于它将数据存储在内存中,以达到超高的读写性能。 #### 1、下载Redis安装包 官网:[Downloads | Redis](https://redis.io/downloads/) 下载完成后无脑next安装即可。 #### 2、打开安装目录 若是未修改则安装在`C:\Program Files\redis`文件里 其中`redis.windows.conf`为Redis的配置文件,`redis-server.exe`为服务启动器。 #### 3、启动 ##### 服务器测试 打开终端,输入下面命令确保服务可用 ```powershell redis-server redis.windows.conf ``` 没有错误如图  ##### 启动Redis客户端 ```powershell redis-cli ``` 发送测试请求`ping`  ## 二、数据操作 #### 1、认识Redis数据类型 数据存储方式为`key:value` `key`默认为`String`类型 `value`的类型包括 * `String`:字符串(最大为512M) * `list`:字符串列表,可以从头部或尾部插入数据,也可以从头部或尾部弹出数据。 * `Hash`:类似于Java中HashMap,代表制本身就是key-value * `Set`:String类型的无序集合,Set类型不允许重复 * `ZSET`:字符串列表,不同的是`ZSET`中每个元素都会关联一个double类型的分数 #### 2、`String`类型 ##### 存储/修改 ```sql set keyname keyvalue ``` ##### 取值 ```sql get keyname ``` ##### 删除 ```sql del keyname ``` ##### 查询所有key ```sql keys * ```  #### 3、`List`类型 ##### 存储 从左侧添加数据(会将原本列表右移) ```sql lpush keyname value1 value2 value3 ... ``` 从右侧添加数据(会将原本列表左移) ```sql rpush keyname value1 value2 value3 ... ``` ##### 查看 从左侧查看数据 ```sql lrange keyname beginIndex endIndex ``` 查看所有数据 ```sql lrange keyname 0 -1 ``` ##### 取值/删除 从左侧取出值并删除 ```sql lpop keyname ``` 从右侧取出值并删除 ```sql rpop keyname ``` **注意**:键中所有值被取出后键也会被删除。  #### 4、`Set`类型 Set类型中数据是无序的,它通过其值的hash值来排序,其中值是不可以重复的 ##### 存储 ```sql sadd keyname value1 value2 ... ``` ##### 查看 ```sql smembers keyname ``` ##### 删除 ```sql srem keyname keyvalue ```  ##### 取差集 取出`set1`中去除`set2`内容的集合 ```sql sdiff set1 set2 ``` ##### 取交集 取出`set1`与`set2`相同的数据集合 ```sql sinter set1 set2 ``` ##### 取并集 取出`set1`与`set2`所有的数据并去重 ```sql sunion set1 set2 ```  #### 5、`ZSET`类型 ZSET类型是一个有序的Set集合,根据分数来排序。 ##### 存储 ```sql zadd keyname score1 value1 score2 value2 ... ... ``` ##### 查看 查看数据的方式为遍历 升序 ```sql zrange keyname beginIndex endIndex [withscores] ``` 降序 ```sql zrevrange keyname beginIndex endIndex [withscores] ``` 查看所有 ```sql zrevrange keyname 0 -1 [withscores] ``` ##### 删除 ```sql zrem keyname keyvalue ```  #### 6、`Hash`类型 Hash类型数据相当于HashMap,Map中还有key-value ##### 存储 ```sql hset keyname fieldname fieldvalue ``` ##### 取值 ```sql sget keyname fieldname ``` ##### 查看 查看map中所有的key(field)值 ```sql hkeys hsetname ``` 查看map中所有的value值 ```sql hvals hsetname ``` 查看map中所有的key-value ```sql hgetall hsetname ``` ##### 删除 ```sql hdel keyname fieldname ```  ## 三、其他操作 #### 1、`TTL`命令 **作用**:可以查看某个key的有效时间 ```sql TTL keyname ``` 返回的值: `-1`:表示永久有效 `-2`:表示已经过期 #### 2、`EXPIRE`命令 **作用**:为key设置有效时间 ```sql EXPIRE keyname time(s) ```  #### 3、`PERSIST`命令 **作用**:移除一个key的过期时间 ```sql PERSIST keyname ```  Loading... ## 一、Redis安装与启动 Redis (REmote DIctionary Server) 是一个开源的、内存中的 **数据结构存储系统**。它通常被用作 **数据库、缓存、消息代理** 和 **流处理引擎**。其核心特点在于它将数据存储在内存中,以达到超高的读写性能。 #### 1、下载Redis安装包 官网:[Downloads | Redis](https://redis.io/downloads/) 下载完成后无脑next安装即可。 #### 2、打开安装目录 若是未修改则安装在`C:\Program Files\redis`文件里 <img src="https://pic.soki.me/file/piclist/image-20251022135606125.png" alt="image-20251022135606125" style="zoom:50%;" style=""> 其中`redis.windows.conf`为Redis的配置文件,`redis-server.exe`为服务启动器。 #### 3、启动 ##### 服务器测试 打开终端,输入下面命令确保服务可用 ```powershell redis-server redis.windows.conf ``` 没有错误如图  ##### 启动Redis客户端 ```powershell redis-cli ``` 发送测试请求`ping`  ## 二、数据操作 #### 1、认识Redis数据类型 数据存储方式为`key:value` `key`默认为`String`类型 `value`的类型包括 * `String`:字符串(最大为512M) * `list`:字符串列表,可以从头部或尾部插入数据,也可以从头部或尾部弹出数据。 * `Hash`:类似于Java中HashMap,代表制本身就是key-value * `Set`:String类型的无序集合,Set类型不允许重复 * `ZSET`:字符串列表,不同的是`ZSET`中每个元素都会关联一个double类型的分数 #### 2、`String`类型 ##### 存储/修改 ```sql set keyname keyvalue ``` ##### 取值 ```sql get keyname ``` ##### 删除 ```sql del keyname ``` ##### 查询所有key ```sql keys * ```  #### 3、`List`类型 ##### 存储 从左侧添加数据(会将原本列表右移) ```sql lpush keyname value1 value2 value3 ... ``` 从右侧添加数据(会将原本列表左移) ```sql rpush keyname value1 value2 value3 ... ``` ##### 查看 从左侧查看数据 ```sql lrange keyname beginIndex endIndex ``` 查看所有数据 ```sql lrange keyname 0 -1 ``` ##### 取值/删除 从左侧取出值并删除 ```sql lpop keyname ``` 从右侧取出值并删除 ```sql rpop keyname ``` **注意**:键中所有值被取出后键也会被删除。  #### 4、`Set`类型 Set类型中数据是无序的,它通过其值的hash值来排序,其中值是不可以重复的 ##### 存储 ```sql sadd keyname value1 value2 ... ``` ##### 查看 ```sql smembers keyname ``` ##### 删除 ```sql srem keyname keyvalue ```  ##### 取差集 取出`set1`中去除`set2`内容的集合 ```sql sdiff set1 set2 ``` ##### 取交集 取出`set1`与`set2`相同的数据集合 ```sql sinter set1 set2 ``` ##### 取并集 取出`set1`与`set2`所有的数据并去重 ```sql sunion set1 set2 ```  #### 5、`ZSET`类型 ZSET类型是一个有序的Set集合,根据分数来排序。 ##### 存储 ```sql zadd keyname score1 value1 score2 value2 ... ... ``` ##### 查看 查看数据的方式为遍历 升序 ```sql zrange keyname beginIndex endIndex [withscores] ``` 降序 ```sql zrevrange keyname beginIndex endIndex [withscores] ``` 查看所有 ```sql zrevrange keyname 0 -1 [withscores] ``` ##### 删除 ```sql zrem keyname keyvalue ```  #### 6、`Hash`类型 Hash类型数据相当于HashMap,Map中还有key-value ##### 存储 ```sql hset keyname fieldname fieldvalue ``` ##### 取值 ```sql sget keyname fieldname ``` ##### 查看 查看map中所有的key(field)值 ```sql hkeys hsetname ``` 查看map中所有的value值 ```sql hvals hsetname ``` 查看map中所有的key-value ```sql hgetall hsetname ``` ##### 删除 ```sql hdel keyname fieldname ```  ## 三、其他操作 #### 1、`TTL`命令 **作用**:可以查看某个key的有效时间 ```sql TTL keyname ``` 返回的值: `-1`:表示永久有效 `-2`:表示已经过期 #### 2、`EXPIRE`命令 **作用**:为key设置有效时间 ```sql EXPIRE keyname time(s) ```  #### 3、`PERSIST`命令 **作用**:移除一个key的过期时间 ```sql PERSIST keyname ```  最后修改:2025 年 10 月 22 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 👆请简单粗暴地爱我。