Redis 詳解:安裝、數據類型、事務、配置、持久化、訂閱/發布、主從復制、哨兵機制、緩存

目錄

Redis 安裝與數據類型

安裝指南

Windows

Linux

性能測試

基本知識

數據類型

String

List(雙向列表)

Set(集合)

Hash(哈希)

Zset(有序集合)

高級功能

地理位置(Geospatial)

Hyperloglog

Bitmaps

Redis高級功能與配置指南

1. 事務

1.1 事務簡介

1.2 事務命令

1.3 鎖機制

1.3.1 悲觀鎖

1.3.2 樂觀鎖

2. Redis配置文件(redis.conf)

2.1 網絡配置

2.2 通用配置

2.3 快照配置(RDB)

2.4 客戶端限制

2.5 內存管理

2.6 AOF配置

3. 持久化

3.1 RDB持久化

3.2 AOF持久化

4. 訂閱/發布

4.1 概述

4.2 命令說明

4.3 使用示例

4.4 應用場景

Redis主從復制、哨兵模式及緩存問題解決策略

1. Redis主從復制

1.1 概述

1.2 主從復制的工作原理

1.3 配置主從復制

1.4 主從復制的優缺點

2. 哨兵模式

2.1 概述

2.2 哨兵的工作原理

2.3 配置哨兵

2.4 簡單部署

2.5?哨兵的優缺點

3. 緩存穿透、擊穿與雪崩問題及解決策略

3.1 緩存穿透

3.2 緩存擊穿

3.3 緩存雪崩


Redis 安裝與數據類型

Redis(Remote Dictionary Server)是一個開源的、支持網絡的Key-Value數據庫,使用ANSI C語言編寫,支持內存和日志型持久化。它提供多種數據類型,常用于數據庫、緩存和消息中間件。

安裝指南

Windows

  1. 安裝:從 MicrosoftArchive/redis 下載安裝包并安裝。
  2. 測試
    • ping:測試服務是否啟動。
    • set name cht:設置鍵值對。
    • get name:獲取鍵對應的值。

Linux

????????前提:確保已安裝Java和gcc-c++

  1. 使用源碼
    • 下載源碼包:wget -http://download.redis.io/releases/redis-<version>.tar.gz
    • 解壓:tar -xzf redis-<version>.tar.gz ?
    • 進入目錄:cd redis-<version>
    • 編譯:make
    • 安裝:sudo make install
    • 驗證安裝:redis-server -version
  2. 使用Docker:(下面的相關展示使用的是docker)
    • 拉取鏡像:docker pull redis
    • 運行容器:docker run -d --name myredis redis
    • 進入容器客戶端:docker exec -it myredis redis-cli
    • 查看連接:ps -ef | grep redis
    • 停止服務:shutdown

性能測試

使用redis-benchmark測試性能:

  • 示例命令:docker exec -it myredis redis-benchmark -p 6379 -c 100 -n 1000000
  • 參數說明:
    • -h:主機名/IP。
    • -p:端口號,默認6379。
    • -c:并發連接數,默認50。
    • -n:請求數,默認100000。
    • -d:數據大小,默認3字節。
    • -t:指定測試類型。
    • -P:管道機制。
    • -q:安靜模式。
    • --csv:輸出CSV格式。
    • -r:隨機鍵空間。

基本知識

  • 數據庫:默認16個數據庫,切換使用select dbindex
  • 線程模型:單線程(Redis 6.0起支持多線程)。
  • 常用命令:
    • DBSIZE:查看鍵數。
    • key *:列出所有鍵。
    • flushdb/FLUSHALL:清空數據庫。
    • exists key:檢查鍵是否存在。
    • expire key seconds:設置過期時間。
    • ttl key:查看剩余時間。
    • type key:查看鍵類型。

數據類型

String

適用于字符串存儲:

  • set key value:設置值。
  • get key:獲取值。
  • append key value:追加字符串。
  • strlen key:字符串長度。
  • incr/decr key:自增/自減。
  • getrange/setrange:截取/替換子串。
  • setex key seconds value:設置帶過期時間的值。
  • setnx key value:鍵不存在時設置。
  • mset/mget:批量操作。
  • getset key value:先獲取后設置。

List(雙向列表)

  • lpush/rpush:左邊/右邊添加元素。
  • lrange:獲取范圍內元素。
  • lpop/rpop:移除左/右邊元素。
  • lrem:移除指定元素。
  • ltrim:截取并保留范圍內元素。
  • rpoplpush:從源列表末尾移到目標列表開頭。
  • lset:替換元素。
  • linsert:在指定元素前/后插入新元素。

Set(集合)

不允許重復元素:

  • sadd:添加元素。
  • smembers:查看所有元素。
  • sismember:檢查元素是否存在。
  • scard:元素個數。
  • srem:移除元素。
  • srandmember:隨機獲取元素。
  • spop:隨機移除元素。
  • smove:移動元素到另一個集合。
  • sdiff/sinter/sunion:集合運算。

Hash(哈希)

適合對象存儲:

  • hset:設置鍵值。
  • hget/hmget:獲取值。
  • hmset:批量設置。
  • hgetall:獲取所有鍵值。
  • hlen:鍵的數量。
  • hexists:檢查鍵是否存在。
  • hkeys/hvals:鍵列表/值列表。
  • hincrby/hdecrby:增量/減量。
  • hsetex/hsetnx:帶過期時間/不存在時設置。

Zset(有序集合)

按分數排序:

  • zadd:添加元素。
  • zrange/zrevrange:升序/降序獲取元素。
  • zrem:移除元素。
  • zcard:元素個數。
  • zcount:統計分數區間內的元素。
  • zrangebyscore/zrevrangebyscore:按分數范圍獲取元素。

高級功能

地理位置(Geospatial)

處理地理位置數據:

  • geoadd:添加地理位置。
  • geopos:獲取位置坐標。
  • geodist:計算兩點距離。
  • georadius/geomember:查詢區域內的位置。
  • geohash:生成Geohash字符串。
  • zrange/zrem:操作有序集合。

Hyperloglog

用于基數統計:

  • pfadd:添加元素。
  • pfcount:統計基數。
  • pfmerge:合并集合。

Bitmaps

位運算支持布爾標志:

  • setbit/getbit:設置/獲取位值。
  • bitcount:統計1的位數。
  • bitop:進行AND、OR、XOR、NOT操作。

Redis高級功能與配置指南

1. 事務

1.1 事務簡介

Redis的事務通過MULTI命令開始,所有事務命令會緩沖到隊列中,直到執行EXEC才會運行。如果在事務執行過程中出現編譯錯誤,所有命令都不執行;運行時錯誤則繼續執行其他命令。

1.2 事務命令

  • MULTI:開始事務。
  • EXEC:執行事務。
  • DISCARD:取消事務,放棄緩沖中的命令。

1.3 鎖機制

1.3.1 悲觀鎖
  • 總是假設最壞情況會發生,所有操作都加鎖。
  • 適用于并發沖突較高的場景。
1.3.2 樂觀鎖
  • 假設沖突可能性較小,使用WATCH監視鍵。
  • 事務執行前檢查鍵是否被修改:
    • WATCH命令監視鍵。
    • MULTI開始事務。
    • 執行事務命令,如果鍵未被修改,EXEC運行,否則事務中止。
  • 優點:提高并發性能,簡化邏輯。
  • 缺點:可能出現數據不一致,重試邏輯復雜。

2. Redis配置文件(redis.conf)

2.1 網絡配置

  • bind 127.0.0.1:綁定IP地址,限制訪問來源。
  • protected-mode yes:保護模式,防止未設置密碼時外部訪問。
  • port 6379:設置Redis服務端口。

2.2 通用配置

  • daemonize yes:以守護進程運行。
  • pidfile /var/run/redis_6379.pid:指定PID文件。
  • requirepass <password>:設置客戶端連接密碼。
  • loglevel notice:設置日志級別(debug, verbose, notice, warning)。
  • logfile "":指定日志文件路徑。
  • databases 16:設置默認數據庫數量。
  • always-show-logo yes:顯示Redis啟動Logo。

2.3 快照配置(RDB)

  • save 900 1:在900秒內有至少1個鍵變化時觸發持久化。
  • stop-writes-on-bgsave-error yes:持久化錯誤時停止寫入。
  • rdbcompression yes:對RDB文件進行壓縮。
  • rdbchecksum yes:對RDB文件進行校驗。
  • dbfilename dump.rdb:指定RDB文件名。
  • dir ./:設置RDB文件存儲目錄。

2.4 客戶端限制

  • maxclients 10000:設置最大客戶端連接數。

2.5 內存管理

  • maxmemory <bytes>:設置最大內存限制。
  • maxmemory-policy noeviction:內存超出策略(默認不移除任何鍵)。

2.6 AOF配置

  • appendonly yes:啟用AOF持久化。
  • appendfilename "appendonly.aof":指定AOF文件名。
  • appendfsync everysec:設置AOF同步策略(默認每秒一次)。

3. 持久化

3.1 RDB持久化

  • 快照機制:fork子進程生成RDB文件。
  • 觸發機制
    • 滿足save規則。
    • 執行flushall
    • 退出Redis。
  • 恢復:Redis啟動時自動加載dump.rdb文件。
  • 優點
    • 高效:主進程繼續處理請求。
    • 恢復快:二進制文件直接加載。
    • 適合備份:文件緊湊,便于存儲。
  • 缺點:可能丟失最近數據。

3.2 AOF持久化

  • 日志機制:記錄每個寫操作,重啟時回放。
  • 優先級:高于RDB,啟動時優先加載。
  • 修復工具redis-check-aof --fix修復損壞的AOF文件。
  • 重寫機制
    • 觸發條件:
      • 文件增長到一定比例(auto-aof-rewrite-percentage)。
      • 達到最小大小(auto-aof-rewrite-min-size)。
    • 優點:減少文件碎片,優化存儲。
  • 優點
    • 更高可靠性:最多丟失1秒數據。
    • 緊急恢復:可手動編輯AOF文件。
    • 可讀性:明確的操作日志,便于分析。
  • 缺點
    • 文件較大:同等數據占用空間更大。
    • 效率:比RDB慢,尤其在不同步時。

4. 訂閱/發布

4.1 概述

Redis的發布/訂閱功能用于實時消息傳輸,適用于實時數據更新的場景,如實時新聞、系統通知等。

4.2 命令說明

  • 訂閱
    • SUBSCRIBE channel [channel ...]:訂閱一個或多個頻道。
    • PSUBSCRIBE pattern [pattern ...]:訂閱符合模式的頻道。
  • 取消訂閱
    • UNSUBSCRIBE [channel ...]:取消訂閱指定頻道。
    • PUNSUBSCRIBE [pattern ...]:取消訂閱符合模式的頻道。
  • 發布消息
    • PUBLISH channel message:向指定頻道發送消息。

4.3 使用示例

# 訂閱頻道"cht"
127.0.0.1:6379> SUBSCRIBE cht
1) "subscribe"
2) "cht"
3) (integer) 1# 發布消息
127.0.0.1:6379> PUBLISH cht "hello world"
(integer) 1# 接收到的消息:
1) "message"
2) "cht"
3) "hello world"

4.4 應用場景

  • 實時更新:如實時信息展示。
  • 消息隊列:用于分布式系統的消息傳遞。
  • 動態通知:用戶行為觸發的實時通知。

Redis主從復制、哨兵模式及緩存問題解決策略

1. Redis主從復制

1.1 概述

Redis的主從復制功能用于實現數據的讀寫分離、數據備份和故障恢復。通過配置主從節點,可以將寫操作集中在主節點,讀操作分散到多個從節點,提升系統的整體性能和可用性。

1.2 主從復制的工作原理

  1. 全量復制

    • 從節點在初次連接主節點時,會觸發一次全量復制。
    • 主節點執行BGSAVE命令生成RDB文件,并將其發送給從節點。
    • 從節點加載RDB文件,初始化數據。
    • 主節點記錄此時的復制偏移量和數據。
  2. 增量復制

    • 全量復制完成后,主節點繼續處理新的寫操作,并將這些操作記錄在復制緩沖區中。
    • 從節點定期請求主節點發送增量數據,主節點根據復制偏移量,發送從節點缺少的數據。
    • 從節點接收并執行這些寫操作,確保數據與主節點一致。

1.3 配置主從復制

  • 設置從節點

    • 在從節點的配置文件redis.conf中,添加replicaof <master_ip> <master_port>,指定主節點的IP和端口。
    • 或者在Redis客戶端中執行SLAVEOF <master_ip> <master_port>命令。
  • 驗證主從復制

    • 在主節點執行INFO replication命令,查看從節點的連接狀態。
    • 確認從節點已經正確連接,并且數據同步完成。

1.4 主從復制的優缺點

  • 優點
    • 數據備份與冗余,避免單點故障。
    • 讀寫分離,提升讀操作的吞吐量。
    • 負載均衡,分散讀操作到多個從節點。
  • 缺點
    • 主節點成為性能瓶頸,所有寫操作必須經過主節點。
    • 數據一致性存在延遲,增量復制過程中可能出現短暫的不一致。
    • 手動干預切換,主節點故障時需要人工介入,切換從節點為主節點。

2. 哨兵模式

2.1 概述

哨兵模式是在主從復制的基礎上,引入了一組哨兵進程,用于監控主節點和從節點的狀態。當主節點出現故障時,哨兵會自動將一個從節點提升為新的主節點,實現故障的自動轉移。

2.2 哨兵的工作原理

  1. 監控
    • 哨兵進程通過定期向主節點和從節點發送PING命令,監控它們的運行狀態。
  2. 主觀下線
    • 如果節點在指定時間內未回復,哨兵會將其標記為“主觀下線”。
  3. 客觀下線
    • 當一定數量的哨兵進程(由quorum參數配置)都標記主節點為主觀下線時,主節點被判定為“客觀下線”。
  4. 故障轉移
    • 哨兵集群選舉出一個領頭哨兵。
    • 領頭哨兵選擇一個健康的從節點作為新的主節點。
    • 更新所有從節點的復制目標,確保它們指向新的主節點。
    • 通知客戶端主節點的變更,完成故障轉移。

2.3 配置哨兵

以下是一個示例的哨兵配置文件sentinel.conf

port 26379                           # 哨兵監聽的端口
daemonize yes                        # 以守護進程運行
pidfile "/var/run/redis-sentinel.pid" # PID文件路徑
logfile "26379.log"                  # 日志文件路徑
dir "/var/tmp/redis-sentinel/data"    # 工作目錄# 監控的主節點,指定主節點名稱、IP地址、端口和哨兵判定主節點下線的票數
sentinel monitor mymaster 127.0.0.1 6379 2# 主節點的密碼,如果主節點設置了密碼需要配置
sentinel auth-pass mymaster 123456# 哨兵判定主節點下線的超時時間,單位是毫秒
sentinel down-after-milliseconds mymaster 30000# 故障轉移時,允許并行同步的從節點個數,默認是1
sentinel parallel-syncs mymaster 1# 故障轉移超時時間,單位是毫秒
sentinel failover-timeout mymaster 180000# 是否允許通過腳本配置重新配置客戶端
sentinel deny-scripts-reconfig yes

2.4 簡單部署

redis 使用 Docker 部署 Redis 集群(包括哨兵機制)-CSDN博客

2.5?哨兵的優缺點

  • 優點
    • 自動故障轉移,減少人工干預。
    • 監控與通知,及時發現和處理問題。
    • 提高系統的高可用性和穩定性。
  • 缺點
    • 配置較為復雜,增加了維護成本。
    • 增加資源開銷,需要額外的服務器運行哨兵進程。
    • 單點故障隱患,哨兵本身也可能成為潛在的單點故障。

3. 緩存穿透、擊穿與雪崩問題及解決策略

3.1 緩存穿透

  • 問題描述
    • 用戶頻繁查詢不存在的數據,導致請求直接打到數據庫,增加數據庫負擔,影響性能。
  • 解決方法
    • 緩存空對象
      • 在數據庫未找到數據時,向緩存中設置一個空對象,設置較短的過期時間,避免占用過多內存。
    • 布隆過濾器
      • 使用布隆過濾器過濾不存在的數據,減少對數據庫的無效查詢。
    • 參數校驗
      • 對用戶輸入的參數進行嚴格的校驗,防止惡意請求或爬蟲攻擊。

3.2 緩存擊穿

  • 問題描述
    • 熱點數據過期后,大量并發請求直接訪問數據庫,導致數據庫壓力驟增。
  • 解決方法
    • 設置熱點數據永不過期
      • 對于某些熱點數據,可以配置為永不過期,確保這些數據始終在緩存中。
    • 互斥鎖
      • 使用分布式鎖(如Redis的SETNX命令),確保只有一個請求能訪問數據庫,其余請求等待,防止數據庫被壓垮。
    • 后臺刷新
      • 開啟后臺線程,定期更新熱點數據的緩存,避免因緩存失效導致的并發請求。
    • 分級緩存
      • 使用多級緩存策略,如一級緩存和二級緩存,確保數據在多級緩存中有效,減少對數據庫的直接訪問。

3.3 緩存雪崩

  • 問題描述
    • 大量緩存同時過期,導致短時間內有大量請求直接打到數據庫,可能引起數據庫宕機。
  • 解決方法
    • 隨機過期時間
      • 在設置緩存過期時間時,加上一個隨機的時間值,避免大量緩存集中過期。
    • 互斥鎖或隊列
      • 使用互斥鎖或隊列控制對數據庫的并發訪問,防止大量請求同時訪問數據庫。
    • 二級緩存
      • 建立二級緩存層,當主緩存失效時,從二級緩存中獲取數據,減少對數據庫的壓力。
    • 數據預熱
      • 在緩存過期前,主動刷新和更新緩存,確保熱點數據始終存在于緩存中。
    • 監控與預警
      • 實時監控緩存的命中率和請求量,及時發現潛在的問題,提前采取措施。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902573.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902573.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902573.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker配置帶證書的遠程訪問監聽

一、生成證書和密鑰 1、準備證書目錄和生成CA證書 # 創建證書目錄 mkdir -p /etc/docker/tls cd /etc/docker/tls # 生成CA密鑰和證書 openssl req -x509 -newkey rsa:4096 -keyout ca-key.pem \ -out ca-cert.pem -days 365 -nodes -subj "/CNDocker CA" 2、為…

MCP接入方式介紹

上一篇文章&#xff0c;我們介紹了MCP是什么以及MCP的使用。 MCP是什么&#xff0c;MCP的使用 接下來&#xff0c;我們來詳細介紹一下MCP的接入 先看官網的架構圖 上圖的MCP 服務 A、MCP 服務 B、MCP 服務 C是可以運行在你的本地計算機&#xff08;本地服務器方式&#xff…

關于Agent的簡單構建和分享

前言&#xff1a;Agent 具備自主性、環境感知能力和決策執行能力&#xff0c;能夠根據環境的變化自動調整行為&#xff0c;以實現特定的目標。 一、Agent 的原理 Agent(智能體)被提出時&#xff0c;具有四大能力 感知、分析、決策和執行。是一種能夠在特定環境中自主行動、感…

Gitlab runner 安裝和注冊

Gitlab Runner GitLab Runner是一個用于運行GitLab CI/CD流水線作業的軟件包&#xff0c;由GitLab官方開發&#xff0c;完全開源。你可以在很多主流的系統環境或平臺上安裝它&#xff0c;如Linux、macOS、Windows和Kubernetes。如果你熟悉Jenkins 的話&#xff0c;你可以把它…

精益數據分析(18/126):權衡數據運用,精準把握創業方向

精益數據分析&#xff08;18/126&#xff09;&#xff1a;權衡數據運用&#xff0c;精準把握創業方向 大家好&#xff01;一直以來&#xff0c;我都希望能和大家在創業與數據分析的領域共同探索、共同進步。今天&#xff0c;我們繼續深入研讀《精益數據分析》&#xff0c;探討…

Git技術詳解:從核心原理到實際應用

Git技術詳解&#xff1a;從核心原理到實際應用 一、Git的本質與核心價值 Git是由Linux之父Linus Torvalds在2005年開發的分布式版本控制系統&#xff0c;其核心功能是通過記錄文件變更歷史&#xff0c;幫助開發者實現以下目標&#xff1a; 版本回溯&#xff1a;隨時恢復到項…

Java從入門到“放棄”(精通)之旅——String類⑩

Java從入門到“放棄”&#xff08;精通&#xff09;之旅&#x1f680;——String類⑩ 前言 在Java編程中&#xff0c;String類是最常用也是最重要的類之一。無論是日常開發還是面試&#xff0c;對String類的深入理解都是必不可少的。 1. String類的重要性 在C語言中&#xf…

抓取淘寶數據RPA--影刀

最近用了一下RPA軟件&#xff0c;挑了影刀&#xff0c;發現很無腦也很簡單&#xff0c;其語法大概是JAVA和PYTHON的混合體&#xff0c;如果懂爬蟲的話&#xff0c;學這個軟件就快的很&#xff0c;看了一下官方的教程&#xff0c;對于有基礎的人來說很有點枯燥&#xff0c;但又不…

docker部署seafile修改默認端口并安裝配置onlyoffice實現在線編輯

背景 有很多場景會用到類似seafile功能的需求&#xff0c;比如&#xff1a; 在內網中傳輸和共享文件個人部署私人網盤文檔協同在線編輯寫筆記… 這些功能seafile均有實現&#xff0c;并且社區版提供的功能基本可以滿足個人或者小型團隊的日常需求 問題 由于主機的80和443端…

計算機視覺cv2入門之視頻處理

在我們進行計算機視覺任務時&#xff0c;經常會對視頻中的圖像進行操作&#xff0c;這里我來給大家分享一下&#xff0c;cv2對視頻文件的操作方法。這里我們主要介紹cv2.VideoCapture函數的基本使用方法。 cv2.VideoCapture函數 當我們在使用cv2.VideoCapture函數時&#xff…

Linux之徹底掌握防火墻-----安全管理詳解

—— 小 峰 編 程 目錄&#xff1a; 一、防火墻作用 二、防火墻分類 1、邏輯上劃分&#xff1a;大體分為 主機防火墻 和 網絡防火墻 2、物理上劃分&#xff1a; 硬件防火墻 和 軟件防火墻 三、硬件防火墻 四、軟件防火墻 五、iptables 1、iptables的介紹 2、netfilter/…

python項目實戰-后端個人博客系統

本文分享一個基于 Flask 框架開發的個人博客系統后端項目&#xff0c;涵蓋用戶注冊登錄、文章發布、分類管理、評論功能等核心模塊。適合初學者學習和中小型博客系統開發。 一、項目結構 blog │ app.py │ forms.py │ models.py │ ├───instance │ blog.d…

Unity 接入阿里的全模態大模型Qwen2.5-Omni

1 參考 根據B站up主陰沉的怪咖 開源的項目的基礎上修改接入 AI二次元老婆開源項目地址(unity-AI-Chat-Toolkit): Github地址&#xff1a;https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit Gitee地址&#xff1a;https://gitee.com/DammonSpace/unity-ai-chat-too…

第十五屆藍橋杯 2024 C/C++組 合法密碼

目錄 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 思路&#xff1a; substr函數&#xff1a; 思路詳解&#xff1a; 代碼&#xff1a; 代碼詳解; 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; P10906 [藍橋杯 2024 國 B] 合法密碼 -…

NoSQL 簡單講解

目錄 1. NoSQL 的背景與意義 1.1 數據庫的演變 1.2 NoSQL 的興起 2. NoSQL 數據庫的分類 2.1 鍵值存儲&#xff08;Key-Value Stores&#xff09; 2.2 文檔數據庫&#xff08;Document Stores&#xff09; 2.3 列族存儲&#xff08;Column-Family Stores&#xff09; 2.…

122.在 Vue3 中使用 OpenLayers 實現圖層層級控制(zIndex)顯示與設置詳解

?? 作者:彭麒 ?? 郵箱:1062470959@qq.com ?? 聲明:本文源碼歸吉檀迦俐所有,歡迎學習借鑒,如用于商業項目請注明出處 ?? ?? 技術棧:Vue 3 + Composition API + OpenLayers 6+ + Element Plus + Tailwind CSS ?? 一、什么是 zIndex(圖層層級)? 在地圖開發中…

車載測試用例開發-如何平衡用例覆蓋度和測試效率的方法論

1 摘要 在進行車載測試用例編寫時&#xff0c;會遇到多個條件導致用例排列組合爆炸的情況&#xff0c;但是為了產品測試質量&#xff0c;我們又不得不保證用例設計的需求覆蓋度&#xff0c;這樣又會使得測試周期非常長。我們如何平衡效率和測試質量&#xff1f;本文進行了一些…

AI——神經網絡以及TensorFlow使用

文章目錄 一、TensorFlow安裝二、張量、變量及其操作1、張量Tensor2、變量 三、tf.keras介紹1、使用tf.keras構建我們的模型2、激活函數1、sigmoid/logistics函數2、tanh函數3、RELU函數4、LeakReLu5、SoftMax6、如何選擇激活函數 3、參數初始化1、bias偏置初始化2、weight權重…

Kubernetes (k8s) 日常運維命令總結

一、資源查看 查看所有命名空間的 Pod kubectl get pod --all-namespaces查看指定命名空間的 Pod kubectl get pod --namespace <命名空間>查看所有部署&#xff08;Deployments&#xff09; kubectl get deployments.apps --all-namespaces查看所有守護進程集&#xff0…

【PostgreSQL教程】PostgreSQL 特別篇之 語言接口連接Perl

博主介紹:?全網粉絲22W+,CSDN博客專家、Java領域優質創作者,掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域? 技術范圍:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大數據、物聯網、機器學習等設計與開發。 感興趣的可…