Linux、Windows下Redis的安裝即Redis的基本使用詳解
前言
什么是Redis
Redis是一個(gè)基于內(nèi)存的key-value結(jié)構(gòu)數(shù)據(jù)庫(kù)。Redis 是互聯(lián)網(wǎng)技術(shù)領(lǐng)域使用最為廣泛的存儲(chǔ)中間件,它是「Remote Dictionary Service」的首字母縮寫(xiě),也就是「遠(yuǎn)程字典服務(wù)」。
基于內(nèi)存存儲(chǔ),讀寫(xiě)性能高

適合存儲(chǔ)熱點(diǎn)數(shù)據(jù)(熱點(diǎn)商品、資訊、新聞)

企業(yè)應(yīng)用廣泛

使用Redis能做什么
- 數(shù)據(jù)緩存
- 消息隊(duì)列
- 注冊(cè)中心
- 發(fā)布訂閱
Redis入門(mén)
Redis簡(jiǎn)介
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. 翻譯為:Redis是一個(gè)開(kāi)源的內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),它可以用作:數(shù)據(jù)庫(kù)、緩存和消息中間件。
官網(wǎng):https://redis.io
Redis是用C語(yǔ)言開(kāi)發(fā)的一個(gè)開(kāi)源的高性能鍵值對(duì)(key-value)數(shù)據(jù)庫(kù),官方提供的數(shù)據(jù)是可以達(dá)到100000+的QPS(每秒內(nèi)查詢(xún)次數(shù))。它存儲(chǔ)的value類(lèi)型比較豐富,也被稱(chēng)為結(jié)構(gòu)化的NoSql數(shù)據(jù)庫(kù)。
NoSql(Not Only SQL),不僅僅是SQL,泛指非關(guān)系型數(shù)據(jù)庫(kù)。NoSql數(shù)據(jù)庫(kù)并不是要取代關(guān)系型數(shù)據(jù)庫(kù),而是關(guān)系型數(shù)據(jù)庫(kù)的補(bǔ)充。
關(guān)系型數(shù)據(jù)庫(kù)(RDBMS):
- Mysql
- Oracle
- DB2
- SQLServer
非關(guān)系型數(shù)據(jù)庫(kù)(NoSql):
- Redis
- Mongo db
- MemCached
Redis下載與安裝
Redis下載
Redis安裝包分為windows版和Linux版:
Windows版下載地址:https://github.com/microsoftarchive/redis/releases
Linux版下載地址: https://download.redis.io/releases/
下載后得到下面安裝包:

Redis安裝
1)在Linux中安裝Redis
在Linux系統(tǒng)安裝Redis步驟:
- 將Redis安裝包上傳到Linux
- 解壓安裝包,命令:tar -zxvf redis-4.0.0.tar.gz -C /usr/local
- 安裝Redis的依賴(lài)環(huán)境gcc,命令:yum install gcc-c++
- 進(jìn)入/usr/local/redis-4.0.0,進(jìn)行編譯,命令:make
- 進(jìn)入redis的src目錄進(jìn)行安裝,命令:make install
安裝后重點(diǎn)文件說(shuō)明:
/usr/local/redis-4.0.0/src/redis-server:Redis服務(wù)啟動(dòng)腳本
/usr/local/redis-4.0.0/src/redis-cli:Redis客戶(hù)端腳本
/usr/local/redis-4.0.0/redis.conf:Redis配置文件
2)在Windows中安裝Redis
Redis的Windows版屬于綠色軟件,直接解壓即可使用,解壓后目錄結(jié)構(gòu)如下:

Redis服務(wù)啟動(dòng)與停止
1)Linux系統(tǒng)中啟動(dòng)和停止Redis
執(zhí)行Redis服務(wù)啟動(dòng)腳本文件redis-server:

通過(guò)啟動(dòng)日志可以看到,Redis默認(rèn)端口號(hào)為6379。
Ctrl + C停止Redis服務(wù)
通過(guò)redis-cli可以連接到本地的Redis服務(wù),默認(rèn)情況下不需要認(rèn)證即可連接成功。
退出客戶(hù)端可以輸入exit或者quit命令。
2)Windows系統(tǒng)中啟動(dòng)和停止Redis
Windows系統(tǒng)中啟動(dòng)Redis,直接雙擊redis-server.exe即可啟動(dòng)Redis服務(wù),redis服務(wù)默認(rèn)端口號(hào)為6379

Ctrl + C停止Redis服務(wù)
雙擊redis-cli.exe即可啟動(dòng)Redis客戶(hù)端,默認(rèn)連接的是本地的Redis服務(wù),而且不需要認(rèn)證即可連接成功。

退出客戶(hù)端可以輸入exit或者quit命令。
Redis配置文件
前面我們已經(jīng)啟動(dòng)了Redis服務(wù),默認(rèn)情況下Redis啟動(dòng)后是在前臺(tái)運(yùn)行,而且客戶(hù)端不需要密碼就可以連接到Redis服務(wù)。如果我們希望Redis服務(wù)啟動(dòng)后是在后臺(tái)運(yùn)行,同時(shí)希望客戶(hù)端認(rèn)證通過(guò)后才能連接到Redis服務(wù),應(yīng)該如果做呢?
此時(shí)就需要修改Redis的配置文件:
- Linux系統(tǒng)中Redis配置文件:REDIS_HOME/redis.conf
- Windows系統(tǒng)中Redis配置文件:REDIS_HOME/redis.windows.conf
通過(guò)修改Redis配置文件可以進(jìn)行如下配置:
1) 設(shè)置Redis服務(wù)后臺(tái)運(yùn)行
將配置文件中的daemonize配置項(xiàng)改為yes,默認(rèn)值為no。
注意:Windows版的Redis不支持后臺(tái)運(yùn)行。
2) 設(shè)置Redis服務(wù)密碼
將配置文件中的 # requirepass foobared 配置項(xiàng)取消注釋?zhuān)J(rèn)為注釋狀態(tài)。foobared為密碼,可以根據(jù)情況自己指定。
3) 設(shè)置允許客戶(hù)端遠(yuǎn)程連接Redis服務(wù)
Redis服務(wù)默認(rèn)只能客戶(hù)端本地連接,不允許客戶(hù)端遠(yuǎn)程連接。將配置文件中的 bind 127.0.0.1 配置項(xiàng)注釋掉。
解釋說(shuō)明:
Redis配置文件中 # 表示注釋
Redis配置文件中的配置項(xiàng)前面不能有空格,需要頂格寫(xiě)
daemonize:用來(lái)指定redis是否要用守護(hù)線(xiàn)程的方式啟動(dòng),設(shè)置成yes時(shí),代表開(kāi)啟守護(hù)進(jìn)程模式。在該模式下,redis會(huì)在后臺(tái)運(yùn)行
requirepass:設(shè)置Redis的連接密碼
bind:如果指定了bind,則說(shuō)明只允許來(lái)自指定網(wǎng)卡的Redis請(qǐng)求。如果沒(méi)有指定,就說(shuō)明可以接受來(lái)自任意一個(gè)網(wǎng)卡的Redis請(qǐng)求。
注意:修改配置文件后需要重啟Redis服務(wù)配置才能生效,并且啟動(dòng)Redis服務(wù)時(shí)需要顯示的指定配置文件:
1)Linux中啟動(dòng)Redis服務(wù)
# 進(jìn)入Redis安裝目錄 cd /usr/local/redis-4.0.0 # 啟動(dòng)Redis服務(wù),指定使用的配置文件 ./src/redis-server ./redis.conf
2)Windows中啟動(dòng)Redis服務(wù)

由于Redis配置文件中開(kāi)啟了認(rèn)證校驗(yàn),即客戶(hù)端連接時(shí)需要提供密碼,此時(shí)客戶(hù)端連接方式變?yōu)椋?/p>

解釋說(shuō)明:
-h:指定連接的Redis服務(wù)的ip地址
-p:指定連接的Redis服務(wù)的端口號(hào)
-a:指定連接的Redis服務(wù)的密碼
Redis數(shù)據(jù)類(lèi)型
Redis存儲(chǔ)的是key-value結(jié)構(gòu)的數(shù)據(jù),其中key是字符串類(lèi)型,value有5種常用的數(shù)據(jù)類(lèi)型:
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set / zset
Redis 5種常用數(shù)據(jù)類(lèi)型

解釋說(shuō)明:
字符串(string):普通字符串,常用
哈希(hash):適合存儲(chǔ)對(duì)象
列表(list):按照插入順序排序,可以有重復(fù)元素
集合(set):無(wú)序集合,沒(méi)有重復(fù)元素
有序集合(sorted set / zset):集合中每個(gè)元素關(guān)聯(lián)一個(gè)分?jǐn)?shù)(score),根據(jù)分?jǐn)?shù)升序排序,沒(méi)有重復(fù)元素
Redis常用命令
字符串string操作命令
Redis 中字符串類(lèi)型常用命令:
- SET key value 設(shè)置指定key的值
- GET key 獲取指定key的值
- SETEX key seconds value 設(shè)置指定key的值,并將 key 的過(guò)期時(shí)間設(shè)為 seconds 秒
- SETNX key value 只有在 key 不存在時(shí)設(shè)置 key 的值
更多命令可以參考Redis中文網(wǎng):https://www.redis.net.cn
哈希hash操作命令
Redis hash 是一個(gè)string類(lèi)型的 field 和 value 的映射表,hash特別適合用于存儲(chǔ)對(duì)象,常用命令:
- HSET key field value 將哈希表 key 中的字段 field 的值設(shè)為 value
- HGET key field 獲取存儲(chǔ)在哈希表中指定字段的值
- HDEL key field 刪除存儲(chǔ)在哈希表中的指定字段
- HKEYS key 獲取哈希表中所有字段
- HVALS key 獲取哈希表中所有值
- HGETALL key 獲取在哈希表中指定 key 的所有字段和值

列表list操作命令
Redis 列表是簡(jiǎn)單的字符串列表,按照插入順序排序,常用命令:
- LPUSH key value1 [value2] 將一個(gè)或多個(gè)值插入到列表頭部
- LRANGE key start stop 獲取列表指定范圍內(nèi)的元素
- RPOP key 移除并獲取列表最后一個(gè)元素
- LLEN key 獲取列表長(zhǎng)度
- BRPOP key1 [key2 ] timeout 移出并獲取列表的最后一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超 時(shí)或發(fā)現(xiàn)可彈出元素為止

集合set操作命令
Redis set 是string類(lèi)型的無(wú)序集合。集合成員是唯一的,這就意味著集合中不能出現(xiàn)重復(fù)的數(shù)據(jù),常用命令:
- SADD key member1 [member2] 向集合添加一個(gè)或多個(gè)成員
- SMEMBERS key 返回集合中的所有成員
- SCARD key 獲取集合的成員數(shù)
- SINTER key1 [key2] 返回給定所有集合的交集
- SUNION key1 [key2] 返回所有給定集合的并集
- SDIFF key1 [key2] 返回給定所有集合的差集
- SREM key member1 [member2] 移除集合中一個(gè)或多個(gè)成員

- 有序集合sorted set操作命令
Redis sorted set 有序集合是 string 類(lèi)型元素的集合,且不允許重復(fù)的成員。每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類(lèi)型的分?jǐn)?shù)(score) 。redis正是通過(guò)分?jǐn)?shù)來(lái)為集合中的成員進(jìn)行從小到大排序。有序集合的成員是唯一的,但分?jǐn)?shù)卻可以重復(fù)。
常用命令:
- ZADD key score1 member1 [score2 member2] 向有序集合添加一個(gè)或多個(gè)成員,或者更新已存在成員的 分?jǐn)?shù)
- ZRANGE key start stop [WITHSCORES] 通過(guò)索引區(qū)間返回有序集合中指定區(qū)間內(nèi)的成員
- ZINCRBY key increment member 有序集合中對(duì)指定成員的分?jǐn)?shù)加上增量 increment
- ZREM key member [member ...] 移除有序集合中的一個(gè)或多個(gè)成員

通用命令
Redis中的通用命令,主要是針對(duì)key進(jìn)行操作的相關(guān)命令:
- KEYS pattern 查找所有符合給定模式( pattern)的 key
- EXISTS key 檢查給定 key 是否存在
- TYPE key 返回 key 所儲(chǔ)存的值的類(lèi)型
- TTL key 返回給定 key 的剩余生存時(shí)間(TTL, time to live),以秒為單位
- DEL key 該命令用于在 key 存在是刪除 key
在Java中操作Redis
前面我們講解了Redis的常用命令,這些命令是我們操作Redis的基礎(chǔ),那么我們?cè)趈ava程序中應(yīng)該如何操作Redis呢?這就需要使用Redis的Java客戶(hù)端,就如同我們使用JDBC操作MySQL數(shù)據(jù)庫(kù)一樣。
Redis 的 Java 客戶(hù)端很多,官方推薦的有三種:
- Jedis
- Lettuce
- Redisson
Spring 對(duì) Redis 客戶(hù)端進(jìn)行了整合,提供了 Spring Data Redis,在Spring Boot項(xiàng)目中還提供了對(duì)應(yīng)的Starter,即 spring-boot-starter-data-redis。
Jedis
Jedis 是 Redis 的 Java 版本的客戶(hù)端實(shí)現(xiàn)。
maven坐標(biāo):
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.0</version> </dependency>
使用 Jedis 操作 Redis 的步驟:
- 獲取連接
- 執(zhí)行操作
- 關(guān)閉連接
示例代碼:
package com.execise.test;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
/**
* 使用Jedis操作Redis
*/
public class JedisTest {
@Test
public void testRedis(){
//1 獲取連接
Jedis jedis = new Jedis("localhost",6379);
//2 執(zhí)行具體的操作
jedis.set("username","xiaoming");
String value = jedis.get("username");
System.out.println(value);
//jedis.del("username");
jedis.hset("myhash","addr","bj");
String hValue = jedis.hget("myhash", "addr");
System.out.println(hValue);
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
//3 關(guān)閉連接
jedis.close();
}
}
Spring Data Redis
Spring Data Redis 是 Spring 的一部分,提供了在 Spring 應(yīng)用中通過(guò)簡(jiǎn)單的配置就可以訪(fǎng)問(wèn) Redis 服務(wù),對(duì) Redis 底層開(kāi)發(fā)包進(jìn)行了高度封裝。在 Spring 項(xiàng)目中,可以使用Spring Data Redis來(lái)簡(jiǎn)化 Redis 操作。
網(wǎng)址:https://spring.io/projects/spring-data-redis

maven坐標(biāo):
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.4.8</version> </dependency>
Spring Boot提供了對(duì)應(yīng)的Starter,maven坐標(biāo):
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
Spring Data Redis中提供了一個(gè)高度封裝的類(lèi):RedisTemplate,針對(duì) Jedis 客戶(hù)端中大量api進(jìn)行了歸類(lèi)封裝,將同一類(lèi)型操作封裝為operation接口,具體分類(lèi)如下:
- ValueOperations:簡(jiǎn)單K-V操作
- SetOperations:set類(lèi)型數(shù)據(jù)操作
- ZSetOperations:zset類(lèi)型數(shù)據(jù)操作
- HashOperations:針對(duì)hash類(lèi)型的數(shù)據(jù)操作
- ListOperations:針對(duì)list類(lèi)型的數(shù)據(jù)操作
使用方式
環(huán)境搭建
第一步:創(chuàng)建maven項(xiàng)目springdataredis_demo,配置pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/>
</parent>
<groupId>com.execise</groupId>
<artifactId>springdataredis_demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.5</version>
</plugin>
</plugins>
</build>
</project>
第二步:編寫(xiě)啟動(dòng)類(lèi)
package com.execise;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}第三步:配置application.yml
spring:
application:
name: springdataredis_demo
#Redis相關(guān)配置
redis:
host: localhost
port: 6379
#password: 123456
database: 0 #操作的是0號(hào)數(shù)據(jù)庫(kù)
jedis:
#Redis連接池配置
pool:
max-active: 8 #最大連接數(shù)
max-wait: 1ms #連接池最大阻塞等待時(shí)間
max-idle: 4 #連接池中的最大空閑連接
min-idle: 0 #連接池中的最小空閑連接
解釋說(shuō)明:
spring.redis.database:指定使用Redis的哪個(gè)數(shù)據(jù)庫(kù),Redis服務(wù)啟動(dòng)后默認(rèn)有16個(gè)數(shù)據(jù)庫(kù),編號(hào)分別是從0到15。
可以通過(guò)修改Redis配置文件來(lái)指定數(shù)據(jù)庫(kù)的數(shù)量。
第四步:提供配置類(lèi)
package com.execise.config;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Redis配置類(lèi)
*/
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
//默認(rèn)的Key序列化器為:JdkSerializationRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
解釋說(shuō)明:
當(dāng)前配置類(lèi)不是必須的,因?yàn)?Spring Boot 框架會(huì)自動(dòng)裝配 RedisTemplate 對(duì)象,但是默認(rèn)的key序列化器為JdkSerializationRedisSerializer,導(dǎo)致我們存到Redis中后的數(shù)據(jù)和原始數(shù)據(jù)有差別
第五步:提供測(cè)試類(lèi)
package com.execise.test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest
@RunWith(SpringRunner.class)
public class SpringDataRedisTest {
@Autowired
private RedisTemplate redisTemplate;
}
操作字符串類(lèi)型數(shù)據(jù)
/**
* 操作String類(lèi)型數(shù)據(jù)
*/
@Test
public void testString(){
//存值
redisTemplate.opsForValue().set("city123","beijing");
//取值
String value = (String) redisTemplate.opsForValue().get("city123");
System.out.println(value);
//存值,同時(shí)設(shè)置過(guò)期時(shí)間
redisTemplate.opsForValue().set("key1","value1",10l, TimeUnit.SECONDS);
//存值,如果存在則不執(zhí)行任何操作
Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("city1234", "nanjing");
System.out.println(aBoolean);
}
操作哈希類(lèi)型數(shù)據(jù)
/**
* 操作Hash類(lèi)型數(shù)據(jù)
*/
@Test
public void testHash(){
HashOperations hashOperations = redisTemplate.opsForHash();
//存值
hashOperations.put("002","name","xiaoming");
hashOperations.put("002","age","20");
hashOperations.put("002","address","bj");
//取值
String age = (String) hashOperations.get("002", "age");
System.out.println(age);
//獲得hash結(jié)構(gòu)中的所有字段
Set keys = hashOperations.keys("002");
for (Object key : keys) {
System.out.println(key);
}
//獲得hash結(jié)構(gòu)中的所有值
List values = hashOperations.values("002");
for (Object value : values) {
System.out.println(value);
}
}
操作列表類(lèi)型數(shù)據(jù)
/**
* 操作List類(lèi)型的數(shù)據(jù)
*/
@Test
public void testList(){
ListOperations listOperations = redisTemplate.opsForList();
//存值
listOperations.leftPush("mylist","a");
listOperations.leftPushAll("mylist","b","c","d");
//取值
List<String> mylist = listOperations.range("mylist", 0, -1);
for (String value : mylist) {
System.out.println(value);
}
//獲得列表長(zhǎng)度 llen
Long size = listOperations.size("mylist");
int lSize = size.intValue();
for (int i = 0; i < lSize; i++) {
//出隊(duì)列
String element = (String) listOperations.rightPop("mylist");
System.out.println(element);
}
}
操作集合類(lèi)型數(shù)據(jù)
/**
* 操作Set類(lèi)型的數(shù)據(jù)
*/
@Test
public void testSet(){
SetOperations setOperations = redisTemplate.opsForSet();
//存值
setOperations.add("myset","a","b","c","a");
//取值
Set<String> myset = setOperations.members("myset");
for (String o : myset) {
System.out.println(o);
}
//刪除成員
setOperations.remove("myset","a","b");
//取值
myset = setOperations.members("myset");
for (String o : myset) {
System.out.println(o);
}
}
操作有序集合類(lèi)型數(shù)據(jù)
/**
* 操作ZSet類(lèi)型的數(shù)據(jù)
*/
@Test
public void testZset(){
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
//存值
zSetOperations.add("myZset","a",10.0);
zSetOperations.add("myZset","b",11.0);
zSetOperations.add("myZset","c",12.0);
zSetOperations.add("myZset","a",13.0);
//取值
Set<String> myZset = zSetOperations.range("myZset", 0, -1);
for (String s : myZset) {
System.out.println(s);
}
//修改分?jǐn)?shù)
zSetOperations.incrementScore("myZset","b",20.0);
//取值
myZset = zSetOperations.range("myZset", 0, -1);
for (String s : myZset) {
System.out.println(s);
}
//刪除成員
zSetOperations.remove("myZset","a","b");
//取值
myZset = zSetOperations.range("myZset", 0, -1);
for (String s : myZset) {
System.out.println(s);
}
}
通用操作
/**
* 通用操作,針對(duì)不同的數(shù)據(jù)類(lèi)型都可以操作
*/
@Test
public void testCommon(){
//獲取Redis中所有的key
Set<String> keys = redisTemplate.keys("*");
for (String key : keys) {
System.out.println(key);
}
//判斷某個(gè)key是否存在
Boolean uname = redisTemplate.hasKey("uname");
System.out.println(uname);
//刪除指定key
redisTemplate.delete("myZset");
//獲取指定key對(duì)應(yīng)的value的數(shù)據(jù)類(lèi)型
DataType dataType = redisTemplate.type("myset");
System.out.println(dataType.name());
}
到此這篇關(guān)于Linux、Windows下Redis的安裝即Redis的基本使用詳解的文章就介紹到這了,更多相關(guān)Redis安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jedis操作Redis實(shí)現(xiàn)模擬驗(yàn)證碼發(fā)送功能
Redis是一個(gè)著名的key-value存儲(chǔ)系統(tǒng),也是nosql中的最常見(jiàn)的一種,這篇文章主要給大家介紹Jedis操作Redis實(shí)現(xiàn)模擬驗(yàn)證碼發(fā)送功能,感興趣的朋友一起看看吧2021-09-09
redis不能訪(fǎng)問(wèn)本機(jī)真實(shí)ip地址的解決方案
這篇文章主要介紹了redis不能訪(fǎng)問(wèn)本機(jī)真實(shí)ip地址的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Linux服務(wù)器快速安裝Redis6.0步驟示例詳解
這篇文章主要為大家介紹了Linux服務(wù)器快速安裝Redis6.0步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
redis數(shù)據(jù)一致性的實(shí)現(xiàn)示例
所謂的redis數(shù)據(jù)一致性即當(dāng)進(jìn)行修改或者保存、刪除之后,redis中的數(shù)據(jù)也應(yīng)該進(jìn)行相應(yīng)變化,本文主要介紹了redis數(shù)據(jù)一致性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

