欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux、Windows下Redis的安裝即Redis的基本使用詳解

 更新時間:2022年09月28日 10:22:24   作者:Wenjie  
Redis是一個基于內(nèi)存的key-value結(jié)構(gòu)數(shù)據(jù)庫,Redis 是互聯(lián)網(wǎng)技術(shù)領(lǐng)域使用最為廣泛的存儲中間件,這篇文章主要介紹了Linux、Windows下Redis的安裝即Redis的基本使用詳解,需要的朋友可以參考下

前言

什么是Redis

Redis是一個基于內(nèi)存的key-value結(jié)構(gòu)數(shù)據(jù)庫。Redis 是互聯(lián)網(wǎng)技術(shù)領(lǐng)域使用最為廣泛的存儲中間件,它是「Remote Dictionary Service」的首字母縮寫,也就是「遠(yuǎn)程字典服務(wù)」。

基于內(nèi)存存儲,讀寫性能高

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

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

使用Redis能做什么

  • 數(shù)據(jù)緩存
  • 消息隊(duì)列
  • 注冊中心
  • 發(fā)布訂閱

Redis入門

Redis簡介

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. 翻譯為:Redis是一個開源的內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),它可以用作:數(shù)據(jù)庫、緩存和消息中間件。

官網(wǎng):https://redis.io

Redis是用C語言開發(fā)的一個開源的高性能鍵值對(key-value)數(shù)據(jù)庫,官方提供的數(shù)據(jù)是可以達(dá)到100000+的QPS(每秒內(nèi)查詢次數(shù))。它存儲的value類型比較豐富,也被稱為結(jié)構(gòu)化的NoSql數(shù)據(jù)庫。

NoSql(Not Only SQL),不僅僅是SQL,泛指非關(guān)系型數(shù)據(jù)庫。NoSql數(shù)據(jù)庫并不是要取代關(guān)系型數(shù)據(jù)庫,而是關(guān)系型數(shù)據(jù)庫的補(bǔ)充。

關(guān)系型數(shù)據(jù)庫(RDBMS):

  • Mysql
  • Oracle
  • DB2
  • SQLServer

非關(guān)系型數(shù)據(jù)庫(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步驟:

  1. 將Redis安裝包上傳到Linux
  2. 解壓安裝包,命令:tar -zxvf redis-4.0.0.tar.gz -C /usr/local
  3. 安裝Redis的依賴環(huán)境gcc,命令:yum install gcc-c++
  4. 進(jìn)入/usr/local/redis-4.0.0,進(jìn)行編譯,命令:make
  5. 進(jìn)入redis的src目錄進(jìn)行安裝,命令:make install

安裝后重點(diǎn)文件說明:

/usr/local/redis-4.0.0/src/redis-server:Redis服務(wù)啟動腳本

/usr/local/redis-4.0.0/src/redis-cli:Redis客戶端腳本

/usr/local/redis-4.0.0/redis.conf:Redis配置文件

2)在Windows中安裝Redis

Redis的Windows版屬于綠色軟件,直接解壓即可使用,解壓后目錄結(jié)構(gòu)如下:

Redis服務(wù)啟動與停止

1)Linux系統(tǒng)中啟動和停止Redis

執(zhí)行Redis服務(wù)啟動腳本文件redis-server:

通過啟動日志可以看到,Redis默認(rèn)端口號為6379。

Ctrl + C停止Redis服務(wù)

通過redis-cli可以連接到本地的Redis服務(wù),默認(rèn)情況下不需要認(rèn)證即可連接成功。

退出客戶端可以輸入exit或者quit命令。

2)Windows系統(tǒng)中啟動和停止Redis

Windows系統(tǒng)中啟動Redis,直接雙擊redis-server.exe即可啟動Redis服務(wù),redis服務(wù)默認(rèn)端口號為6379

Ctrl + C停止Redis服務(wù)

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

退出客戶端可以輸入exit或者quit命令。

Redis配置文件

前面我們已經(jīng)啟動了Redis服務(wù),默認(rèn)情況下Redis啟動后是在前臺運(yùn)行,而且客戶端不需要密碼就可以連接到Redis服務(wù)。如果我們希望Redis服務(wù)啟動后是在后臺運(yùn)行,同時希望客戶端認(rèn)證通過后才能連接到Redis服務(wù),應(yīng)該如果做呢?

此時就需要修改Redis的配置文件:

  • Linux系統(tǒng)中Redis配置文件:REDIS_HOME/redis.conf
  • Windows系統(tǒng)中Redis配置文件:REDIS_HOME/redis.windows.conf

通過修改Redis配置文件可以進(jìn)行如下配置:

1) 設(shè)置Redis服務(wù)后臺運(yùn)行

將配置文件中的daemonize配置項(xiàng)改為yes,默認(rèn)值為no。

注意:Windows版的Redis不支持后臺運(yùn)行。

2) 設(shè)置Redis服務(wù)密碼

將配置文件中的 # requirepass foobared 配置項(xiàng)取消注釋,默認(rèn)為注釋狀態(tài)。foobared為密碼,可以根據(jù)情況自己指定。

3) 設(shè)置允許客戶端遠(yuǎn)程連接Redis服務(wù)

Redis服務(wù)默認(rèn)只能客戶端本地連接,不允許客戶端遠(yuǎn)程連接。將配置文件中的 bind 127.0.0.1 配置項(xiàng)注釋掉。

解釋說明:

Redis配置文件中 # 表示注釋

Redis配置文件中的配置項(xiàng)前面不能有空格,需要頂格寫

daemonize:用來指定redis是否要用守護(hù)線程的方式啟動,設(shè)置成yes時,代表開啟守護(hù)進(jìn)程模式。在該模式下,redis會在后臺運(yùn)行

requirepass:設(shè)置Redis的連接密碼

bind:如果指定了bind,則說明只允許來自指定網(wǎng)卡的Redis請求。如果沒有指定,就說明可以接受來自任意一個網(wǎng)卡的Redis請求。

注意:修改配置文件后需要重啟Redis服務(wù)配置才能生效,并且啟動Redis服務(wù)時需要顯示的指定配置文件:

1)Linux中啟動Redis服務(wù)

# 進(jìn)入Redis安裝目錄
cd /usr/local/redis-4.0.0
# 啟動Redis服務(wù),指定使用的配置文件
./src/redis-server ./redis.conf

2)Windows中啟動Redis服務(wù)

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

解釋說明:

-h:指定連接的Redis服務(wù)的ip地址

-p:指定連接的Redis服務(wù)的端口號

-a:指定連接的Redis服務(wù)的密碼

Redis數(shù)據(jù)類型

Redis存儲的是key-value結(jié)構(gòu)的數(shù)據(jù),其中key是字符串類型,value有5種常用的數(shù)據(jù)類型:

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set / zset

Redis 5種常用數(shù)據(jù)類型

解釋說明:

字符串(string):普通字符串,常用

哈希(hash):適合存儲對象

列表(list):按照插入順序排序,可以有重復(fù)元素

集合(set):無序集合,沒有重復(fù)元素

有序集合(sorted set / zset):集合中每個元素關(guān)聯(lián)一個分?jǐn)?shù)(score),根據(jù)分?jǐn)?shù)升序排序,沒有重復(fù)元素

Redis常用命令

字符串string操作命令

Redis 中字符串類型常用命令:

  • SET key value 設(shè)置指定key的值
  • GET key 獲取指定key的值
  • SETEX key seconds value 設(shè)置指定key的值,并將 key 的過期時間設(shè)為 seconds 秒
  • SETNX key value 只有在 key 不存在時設(shè)置 key 的值

更多命令可以參考Redis中文網(wǎng):https://www.redis.net.cn

哈希hash操作命令

Redis hash 是一個string類型的 field 和 value 的映射表,hash特別適合用于存儲對象,常用命令:

  • HSET key field value 將哈希表 key 中的字段 field 的值設(shè)為 value
  • HGET key field 獲取存儲在哈希表中指定字段的值
  • HDEL key field 刪除存儲在哈希表中的指定字段
  • HKEYS key 獲取哈希表中所有字段
  • HVALS key 獲取哈希表中所有值
  • HGETALL key 獲取在哈希表中指定 key 的所有字段和值

列表list操作命令

Redis 列表是簡單的字符串列表,按照插入順序排序,常用命令:

  • LPUSH key value1 [value2] 將一個或多個值插入到列表頭部
  • LRANGE key start stop 獲取列表指定范圍內(nèi)的元素
  • RPOP key 移除并獲取列表最后一個元素
  • LLEN key 獲取列表長度
  • BRPOP key1 [key2 ] timeout 移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超 時或發(fā)現(xiàn)可彈出元素為止

集合set操作命令

Redis set 是string類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現(xiàn)重復(fù)的數(shù)據(jù),常用命令:

  • SADD key member1 [member2] 向集合添加一個或多個成員
  • SMEMBERS key 返回集合中的所有成員
  • SCARD key 獲取集合的成員數(shù)
  • SINTER key1 [key2] 返回給定所有集合的交集
  • SUNION key1 [key2] 返回所有給定集合的并集
  • SDIFF key1 [key2] 返回給定所有集合的差集
  • SREM key member1 [member2] 移除集合中一個或多個成員

  • 有序集合sorted set操作命令

Redis sorted set 有序集合是 string 類型元素的集合,且不允許重復(fù)的成員。每個元素都會關(guān)聯(lián)一個double類型的分?jǐn)?shù)(score) 。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大排序。有序集合的成員是唯一的,但分?jǐn)?shù)卻可以重復(fù)。

常用命令:

  • ZADD key score1 member1 [score2 member2] 向有序集合添加一個或多個成員,或者更新已存在成員的 分?jǐn)?shù)
  • ZRANGE key start stop [WITHSCORES] 通過索引區(qū)間返回有序集合中指定區(qū)間內(nèi)的成員
  • ZINCRBY key increment member 有序集合中對指定成員的分?jǐn)?shù)加上增量 increment
  • ZREM key member [member ...] 移除有序集合中的一個或多個成員

通用命令

Redis中的通用命令,主要是針對key進(jìn)行操作的相關(guān)命令:

  • KEYS pattern 查找所有符合給定模式( pattern)的 key
  • EXISTS key 檢查給定 key 是否存在
  • TYPE key 返回 key 所儲存的值的類型
  • TTL key 返回給定 key 的剩余生存時間(TTL, time to live),以秒為單位
  • DEL key 該命令用于在 key 存在是刪除 key

在Java中操作Redis

前面我們講解了Redis的常用命令,這些命令是我們操作Redis的基礎(chǔ),那么我們在java程序中應(yīng)該如何操作Redis呢?這就需要使用Redis的Java客戶端,就如同我們使用JDBC操作MySQL數(shù)據(jù)庫一樣。

Redis 的 Java 客戶端很多,官方推薦的有三種:

  • Jedis
  • Lettuce
  • Redisson

Spring 對 Redis 客戶端進(jìn)行了整合,提供了 Spring Data Redis,在Spring Boot項(xiàng)目中還提供了對應(yīng)的Starter,即 spring-boot-starter-data-redis。

Jedis

Jedis 是 Redis 的 Java 版本的客戶端實(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)用中通過簡單的配置就可以訪問 Redis 服務(wù),對 Redis 底層開發(fā)包進(jìn)行了高度封裝。在 Spring 項(xiàng)目中,可以使用Spring Data Redis來簡化 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提供了對應(yīng)的Starter,maven坐標(biāo):

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Spring Data Redis中提供了一個高度封裝的類:RedisTemplate,針對 Jedis 客戶端中大量api進(jìn)行了歸類封裝,將同一類型操作封裝為operation接口,具體分類如下:

  • ValueOperations:簡單K-V操作
  • SetOperations:set類型數(shù)據(jù)操作
  • ZSetOperations:zset類型數(shù)據(jù)操作
  • HashOperations:針對hash類型的數(shù)據(jù)操作
  • ListOperations:針對list類型的數(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>

第二步:編寫啟動類

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號數(shù)據(jù)庫
    jedis:
      #Redis連接池配置
      pool:
        max-active: 8 #最大連接數(shù)
        max-wait: 1ms #連接池最大阻塞等待時間
        max-idle: 4 #連接池中的最大空閑連接
        min-idle: 0 #連接池中的最小空閑連接

解釋說明:

spring.redis.database:指定使用Redis的哪個數(shù)據(jù)庫,Redis服務(wù)啟動后默認(rèn)有16個數(shù)據(jù)庫,編號分別是從0到15。

可以通過修改Redis配置文件來指定數(shù)據(jù)庫的數(shù)量。

第四步:提供配置類

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配置類
 */
@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;
    }
}

解釋說明:

當(dāng)前配置類不是必須的,因?yàn)?Spring Boot 框架會自動裝配 RedisTemplate 對象,但是默認(rèn)的key序列化器為JdkSerializationRedisSerializer,導(dǎo)致我們存到Redis中后的數(shù)據(jù)和原始數(shù)據(jù)有差別

第五步:提供測試類

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;
    
}

操作字符串類型數(shù)據(jù)

/**
 * 操作String類型數(shù)據(jù)
*/
@Test
public void testString(){
    //存值
    redisTemplate.opsForValue().set("city123","beijing");

    //取值
    String value = (String) redisTemplate.opsForValue().get("city123");
    System.out.println(value);

    //存值,同時設(shè)置過期時間
    redisTemplate.opsForValue().set("key1","value1",10l, TimeUnit.SECONDS);

    //存值,如果存在則不執(zhí)行任何操作
    Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("city1234", "nanjing");
    System.out.println(aBoolean);
}

操作哈希類型數(shù)據(jù)

/**
 * 操作Hash類型數(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);
    }
}

操作列表類型數(shù)據(jù)

/**
 * 操作List類型的數(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);
    }

    //獲得列表長度 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);
    }
}

操作集合類型數(shù)據(jù)

/**
 * 操作Set類型的數(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);
    }

}

操作有序集合類型數(shù)據(jù)

/**
 * 操作ZSet類型的數(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);
    }
}

通用操作

/**
 * 通用操作,針對不同的數(shù)據(jù)類型都可以操作
*/
@Test
public void testCommon(){
    //獲取Redis中所有的key
    Set<String> keys = redisTemplate.keys("*");
    for (String key : keys) {
        System.out.println(key);
    }

    //判斷某個key是否存在
    Boolean uname = redisTemplate.hasKey("uname");
    System.out.println(uname);

    //刪除指定key
    redisTemplate.delete("myZset");

    //獲取指定key對應(yīng)的value的數(shù)據(jù)類型
    DataType dataType = redisTemplate.type("myset");
    System.out.println(dataType.name());

}

到此這篇關(guān)于Linux、Windows下Redis的安裝即Redis的基本使用詳解的文章就介紹到這了,更多相關(guān)Redis安裝使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jedis操作Redis實(shí)現(xiàn)模擬驗(yàn)證碼發(fā)送功能

    Jedis操作Redis實(shí)現(xiàn)模擬驗(yàn)證碼發(fā)送功能

    Redis是一個著名的key-value存儲系統(tǒng),也是nosql中的最常見的一種,這篇文章主要給大家介紹Jedis操作Redis實(shí)現(xiàn)模擬驗(yàn)證碼發(fā)送功能,感興趣的朋友一起看看吧
    2021-09-09
  • Redis解決優(yōu)惠券秒殺應(yīng)用案例

    Redis解決優(yōu)惠券秒殺應(yīng)用案例

    這篇文章主要介紹了Redis解決優(yōu)惠券秒殺應(yīng)用案例,本文先講了搶購問題,指出其中會出現(xiàn)的多線程問題,提出解決方案采用悲觀鎖和樂觀鎖兩種方式進(jìn)行實(shí)現(xiàn),然后發(fā)現(xiàn)在搶購過程中容易出現(xiàn)一人多單現(xiàn)象,需要的朋友可以參考下
    2022-11-11
  • 同一份數(shù)據(jù)Redis為什么要存兩次

    同一份數(shù)據(jù)Redis為什么要存兩次

    這篇文章主要介紹了同一份數(shù)據(jù)Redis為什么要存兩次,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Redis應(yīng)用之簽到的使用

    Redis應(yīng)用之簽到的使用

    在很多時候,我們遇到用戶簽到的場景,本文主要介紹了Redis應(yīng)用之簽到的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • redis不能訪問本機(jī)真實(shí)ip地址的解決方案

    redis不能訪問本機(jī)真實(shí)ip地址的解決方案

    這篇文章主要介紹了redis不能訪問本機(jī)真實(shí)ip地址的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解如何在Windows上配置和使用Redis持久化功能

    詳解如何在Windows上配置和使用Redis持久化功能

    Redis 是一個強(qiáng)大的內(nèi)存數(shù)據(jù)庫,常用于緩存和實(shí)時數(shù)據(jù)處理,然而,由于其內(nèi)存特性,一旦服務(wù)器重啟或故障,存儲在 Redis 中的數(shù)據(jù)可能會丟失,為了確保數(shù)據(jù)的安全性和持久性,Redis 提供了多種持久化機(jī)制,本文將詳細(xì)介紹如何在 Windows 上配置和使用 Redis 的持久化功能
    2024-08-08
  • Redis生成全局唯一ID的實(shí)現(xiàn)方法

    Redis生成全局唯一ID的實(shí)現(xiàn)方法

    全局唯一ID生成器是一種在分布式系統(tǒng)下用來生成全局唯一ID的工具,本文主要介紹了Redis生成全局唯一ID的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下
    2022-06-06
  • Linux服務(wù)器快速安裝Redis6.0步驟示例詳解

    Linux服務(wù)器快速安裝Redis6.0步驟示例詳解

    這篇文章主要為大家介紹了Linux服務(wù)器快速安裝Redis6.0步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Redis事務(wù)為什么不支持回滾

    Redis事務(wù)為什么不支持回滾

    事務(wù)是關(guān)系型數(shù)據(jù)庫的特征之一,那么作為 Nosql 的代表 Redis 中有事務(wù)嗎?如果有,那么 Redis 當(dāng)中的事務(wù)又是否具備關(guān)系型數(shù)據(jù)庫的 ACID 四大特性,本文就來詳細(xì)介紹一下
    2021-08-08
  • redis數(shù)據(jù)一致性的實(shí)現(xiàn)示例

    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ù)一致性,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論