Redis ⑥-string | hash | list

在這里插入圖片描述

string類型基本介紹

Redis 中的字符串,是直接按照二進制的方式進行存儲的。也就是說,在存取的過程中,是不會做任何編碼轉換的。存的是啥,取的時候就是啥。

Redis 的這個機制,就使得 Redis 非常適合用來存儲各種各樣的二進制數據,比如JSON、XML、圖片、視頻、音頻、壓縮包等等。

雖然可以存儲視頻、音頻等,但還是不建議,因為這些文件大小往往都不小,容易造成阻塞

FLUSHALL

FLUSHALL
  • FLUSHALL 命令用于清空 Redis 數據庫中的所有鍵值對。
  • 該命令謹慎使用為好。

string類型常用命令

SET

SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
  • SET 命令用于設置鍵值對。
  • key 是要設置的鍵名,value 是要設置的鍵值。
  • EX seconds:設置鍵的過期時間為 seconds 秒。
  • PX milliseconds:設置鍵的過期時間為 milliseconds 毫秒。
  • NX:只在鍵不存在時,才對鍵進行設置操作。如果鍵存在,則不設置,返回 nil
  • XX:只在鍵存在時,才對鍵進行設置操作。如果鍵不存在,則不設置,返回 nil

GET

GET key
  • GET 命令用于獲取鍵值對的值。
  • GET 命令只作用于該鍵對應的值為字符串類型,如果不為字符串類型,使用 GET 命令則會報錯:

WRONGTYPE Operation against a key holding the wrong kind of value

MSET

MSET key value [key value...]
  • MSET 命令用于一次性設置多個鍵值對。
  • 所有鍵值對之間用空格分隔。
  • 時間復雜度為 O(N),這里 N 為要設置的鍵值對的數量。

MGET

MGET key [key...]
  • MGET 命令用于一次性獲取多個鍵值對的值。
  • 所有鍵之間用空格分隔。
  • 時間復雜度為 O(N),這里 N 為要獲取的鍵的數量。

SETNX

SETNX key value
  • 此處的 NX 就是上方 SET 命令中的 NX。

SETXX

SETXX key value
  • 此處的 XX 就是上方 SET 命令中的 XX。

SETEX

SETEX key seconds value
  • SETEX 命令用于設置鍵值對,并設置鍵的過期時間為 seconds 秒。
  • 等價于 SET key value EX seconds

PSETEX

PSETEX key milliseconds value
  • PSETEX 命令用于設置鍵值對,并設置鍵的過期時間為 milliseconds 毫秒。
  • 等價于 SET key value PX milliseconds

INCR

INCR key
  • INCR 命令用于對鍵的值做加 1 操作。
  • 返回值為執行加 1 操作之后的結果。
  • 執行該命令的鍵對應的值必須是 int 類型,否則會報錯:

ERR value is not an integer or out of range

  • 該整數為 64 位 (8 字節)的,相當于 C++ 的 long long 類型,Java 的 long 類型。
  • 如果對一個不存在的鍵執行了該命令,則會創建一個默認值為 0 的鍵,并對其進行加 1 操作。

DECR

DECR key
  • DECR 命令用于對鍵的值做減 1 操作。
  • 返回值為執行減 1 操作之后的結果。
  • 其特性與 INCR 命令相同。

INCRBY

INCRBY key increment
  • INCRBY 命令用于對鍵的值做加法操作,加的值為 increment。
  • 返回值為執行加法操作之后的結果。
  • 其特性與 INCR 命令相同。

DECRBY

DECRBY key decrement
  • DECRBY 命令用于對鍵的值做減法操作,減的值為 decrement。
  • 返回值為執行減法操作之后的結果。
  • 其特性與 INCRBY 命令相同。

INCRBYFLOAT

INCRBYFLOAT key increment
  • INCRBYFLOAT 命令用于對鍵的值做浮點數的加法操作,加的值為 increment。
  • 返回值為執行浮點數加法操作之后的結果。
  • Redis 中的浮點數的精度為小數點后 17 位。
  • Redis 中的 string 類型并沒有提供類似于 float、double 這樣的浮點數類型。所以,其本質存的還是 embstr 或者 raw。
  • 執行該命令時,其分為三個步驟:將取出來的字符串轉換為浮點數,進行浮點數加法操作,再將結果轉換為字符串存回去。
  • 所以,該命令對性能有一定的影響,也不會,也不建議經常的使用。

上述操作的時間復雜度本質都還是 O(1)。由于 Redis 使用還是單線程模型,所以不用擔心線程安全問題。


APPEND

APPEND key value
  • APPEND 命令用于在鍵對應的值的末尾追加字符串 value。
  • 返回值添加后的字符串的長度,該長度單位為字節
  • 如果改鍵存在,則執行追加操作。如果改鍵不存在,則先創建一個空值,再執行追加操作,相當于執行 SET 操作。
  • 注意:
    1. 當我們將值設置為一個漢字時,其返回的結果的為 3,這是因為我們當前使用的終端的編碼方式是 UTF-8,而漢字的編碼長度為 3,故存儲在 Redis 中的長度為 3。
    2. 如果我們直接獲取該鍵的值,則會看到類似于 \xe4\xbd\xa0 的結果,這是三個字節的 16 進制編碼。根據 UTF-8 碼表,可以得到其結果為
    3. 如果想直接看到漢字,我們可以在啟動 Redis 客戶端時,多添加一條命令 --raw,也就是 redis-cli --raw。這樣,我們獲取該鍵的值時,Redis 客戶端就會自動的對該二進制數據嘗試進行翻譯。
redis-cli --raw

GETRANGE

GETRANGE key start end
  • GETRANGE 命令用于獲取鍵對應的值的某一個特定范圍的子字符串。
  • startend 是子字符串的起始和結束位置,都是 0 開始的偏移量。該獲取區間為 左閉右閉
  • 返回值為對應區間的子字符串。
  • 注意: startend 都可以為負數,表示從字符串的末尾開始計算偏移量。比如 -1 為最后一個字符,-2 為倒數第二個字符,以此類推。

SETRANGE

SETRANGE key offset value
  • SETRANGE 用于從 offset 位置開始,將鍵對應的值覆寫為 value。
  • 如果 offset 比當前字符串長度還要長,則會在字符串末尾補上空格后再進行覆寫。
  • 返回值是設置成功之后,字符串的長度。
  • 如果該鍵不存在,則先創建一個空行值(\x00),再執行覆寫操作。

STRLEN

STRLEN key
  • STRLEN 命令用于獲取鍵對應值的字符串長度。
  • 返回值為字符串的長度,單位為字節。

string編碼方式

  • Redis 字符串類型支持三種編碼方式:rawembstrint
    1. raw:普通字符串,用于存儲更長的字符串,底層是一個字節數組
    2. embstr:壓縮字符串,當鍵對應的值字節數偏小時(據說是39字節),使用 embstr 編碼,節省內存。
    3. int:64位/8字節 的整形,當存儲的值為純數字時,使用 int 編碼。浮點數使用的編碼還是 embstr。

string類型的使用場景

  • 作為緩存:作為應用服務器和數據庫服務器的中間件,用于存儲熱點數據,提高查詢的效率。
  • 計數:使用 Redis 作為基本的計數工具,它可以實現快速計數、查詢緩存的功能,同時數據可以異步處理或者落地到其他數據源。
  • 存儲 session 會話:對于使用了負載均衡的分布式系統,可以將 session 信息存儲在 Redis 中,提高 session 共享的效率。
  • 短信驗證碼:設置驗證碼的有效時間,設置一個用戶在規定的時間內只能獲取 N 次驗證碼,防止用戶惡意獲取驗證碼,造成服務器壓力。
    以上只是介紹了 Redis 中的 string 類型常見的使用場景,實際上還可以用在更多地方,具體需要根據業務需求進行選擇。

hash類型基本介紹

`Redis 自身就是一個 hash類型,通過存儲鍵值對,以達到 O(1) 的時間復雜度的快速訪問。

這里的 hash類型,是 Redis 中 key-value 中的 value 的類型。也就是 value 是一個 hash 類型,可以存儲鍵值對結構。

hash類型常用命令

HSET

HSET key field value [field value... ]
  • 區分這里 key 和 field 的區別:
    • key:Redis 自身存儲的鍵,Redis 通過 key 可以訪問到對應 value
    • field:當 Redis 中的 value 是一個 hash 類型時,field 也是該 hash 的 key。
  • 返回值為存儲成功的鍵值對個數。
  • 如果 field 已經存在,則會覆蓋原有的值。不論設置了多少個已經存在的 field,盡管設置成功了,返回值都為 0。因為這些字段的設置操作沒有引入新的字段,只是更新了已有字段的值

HGET

HGET key field
  • 返回指定 key 下的指定 field 的值。

HEXISTS

HEXISTS key field
  • 判斷指定 key 下的指定 field 是否存在。
  • 返回 1 代表存在,0 代表不存在。

HDEL

HDEL key field [field...]
  • 刪除指定 key 下的指定 field。
  • 返回值為刪除成功的鍵值對個數。

HKEYS

HKEYS key
  • 返回指定 key 下所有的 field 名稱。
  • 該命令和 keys * 一樣,謹慎使用。

HVALS

HVALS key
  • 返回指定 key 下所有的 field 值。
  • 該命令和 keys * 一樣,謹慎使用。

HGETALL

HGETALL key
  • 返回指定 key 下所有的鍵值對。
  • 該命令和 keys * 一樣,謹慎使用。

HMGET

HMGET key field [field...]
  • 返回指定 key 下的多個 field 值。
  • 返回值的順序和 field 參數的順序一致。

HMSET

HMSET key field value [field value...]
  • 批量設置多個 field 值。
  • 返回值不代表實際存儲成功的鍵值對個數。
  • 該命令和 HSET 的作用一樣,為了不那么反直覺,所以才有該命令。

HLEN

HLEN key
  • 返回指定 key 下的 field 數量,也就是 hash 元素的個數。

HSETNX

HSETNX key field value
  • 只有當 field 不存在時,才設置 field 值。如果存在則設置失敗。

HINCRBY

HINCRBY key field increment
  • 給指定 key 下的指定 field 值增加指定增量。
  • 如果 field 不存在,則設置 field 值為 0 后再增加。
  • 返回值是增加后的值。
  • 這里不像 string 類型,有 DECRBY 命令,因為 hash 類型并不經常使用加減操作,而 HINCRBY 自身已經可以完成加減操作了

HINCRBYFLOAT

HINCRBYFLOAT key field increment
  • 給指定 key 下的指定 field 值增加指定浮點數增量。
  • 如果 field 不存在,則設置 field 值為 0 后再增加。
  • 返回值是增加后的值。

HSTRLEN

HSTRLEN key field
  • 返回指定 key 下的指定 field 值的字符串長度,單位為字節。
  • 如果 field 不存在,則返回 0。

hash編碼方式

  • Redis 中的 hash 類型有兩種編碼方式:
    1. ziplist:是一種壓縮鏈表,當 hash 類型中元素個數小于 hash-max-ziplist-entries 配置項 (默認為 512) 的值 或者 元素值總長度小于 hash-max-ziplist-value 配置項 (默認為 64) 的值時,Redis 使用 ziplist 編碼。(在 Redis 4.0 版本后,ziplist 已被 listpack 替代)
    2. hashtable:當 hash 類型中元素個數大于等于 hash-max-ziplist-entries 配置項的值 或者 元素值總長度大于等于 hash-max-ziplist-value 配置項的值時,Redis 使用 hashtable 編碼。

list類型基本介紹

list 類型相當于 數組 或者 鏈表。但其內部的編碼方式并不是一個數組,其更接近于 “雙端隊列” (Deque)

列表中元素是有序的,該有序并不是 “升序” 或者 “降序”,而是元素在列表中的位置的先后順序

列表中的元素是可以重復的。

獲取和刪除的區別,獲取相當于 peek,刪除相當于 pop

list類型常用命令

LPUSH

LPUSH key element [element...]
  • 該命令可以一次插入多個元素。
  • 這里的 L 表示的是 left,即從左邊插入,也就是頭插
  • 返回值是插入元素后列表的長度。

LRANGE

LRANGE key start stop
  • 該命令可以獲取列表中指定范圍的元素。
  • startstop 是索引,都可以是負數,表示從列表的末尾開始計數(-1 表示最后一個元素,-2 表示倒數第二個元素,以此類推)。兩個區間都是閉區間。
  • startstop 都可以超過實際列表的索引范圍,也不會報錯。

LPUSHX

LPUSHX key element [element...]
  • 該命令和 LPUSH 類似,但只在列表存在時才插入元素。
  • 如果列表不存在,則返回 0,表示插入失敗。

RPUSH

RPUSH key element [element...]
  • LPUSH 類似,但從右邊插入,也就是尾插

RPUSHX

RPUSHX key element [element...]
  • LPUSHX 類似。

LPOP

LPOP key [count]
  • 該命令可以從列表左邊彈出一個元素,也就是頭刪
  • 如果不填 count,則默認彈出一個元素。如果填 count,則彈出 count 個元素。

RPOP

RPOP key [count]
  • LPOP 類似,但從右邊彈出,也就是尾刪

LINDEX

LINDEX key index
  • 該命令可以獲取列表中指定索引的元素。
  • index 可以是負數,表示從列表的末尾開始計數。
  • 如果索引越界,則返回 nil
  • 時間復雜度為 O(N),N 為列表的長度。

LINSERT

LINSERT key <BEFORE|AFTER> pivot element
  • 該命令可以在列表中插入元素。
  • element 為需要插入的元素。
  • pivot 為需要插入到哪個元素的前面或后面。如果為 BEFORE,則插入到 pivot 元素的前面;如果為 AFTER,則插入到 pivot 元素的后面。
  • 如果 pivot 元素不存在,則返回 -1,表示插入失敗。
  • 如果 pivot 存在多個,則從左往右遍歷匹配第一個 pivot 在其前面或后面插入。
  • 返回值為插入后的列表長度。
  • 時間復雜度為 O(N),N 為列表的長度。

LLEN

LLEN key
  • 該命令可以獲取列表的長度。

LREM

LREM key count element
  • 該命令可以刪除列表中指定元素。
  • count 為刪除的元素個數。
  • 如果 count 等于 0,則刪除所有 element
  • 如果 count 小于 0,則從右往左開始遍歷依此刪除 countelement
  • 如果 count 大于 0,則從左往右開始遍歷依此刪除 countelement

LTRIM

LTRIM key start stop
  • 保留 startstop 之間的元素,刪除區間之外的元素。

LSET

LSET key index element
  • 該命令可以設置列表中指定索引的元素。
  • index 可以是負數,表示從列表的末尾開始計數。
  • 如果索引越界,則報錯:ERR index out of range

BLPOP

BLPOP key [key...] timeout
  • 該命令為 阻塞 版本的 LPOP。如果執行 BLPOP 命令時,列表為空,則會阻塞 timeout 秒,直到列表中有元素被加入。
  • BLPOP 可以同時監聽多個 key,當其中一個 key 加入元素后而不為空時,則返回該 key 和被彈出的元素。
  • 如果多個客戶端同時執行 BLPOP,則最先執行 BLPOP 的客戶端會得到彈出的元素。

BRPOP

BRPOP key [key...] timeout
  • 該命令為 阻塞 版本的 RPOP。其特性與 BLPOP 類似。

list編碼方式

  • 在早期的 Redis 版本中,list 類型有兩種編碼方式:ziplistlinkedlist
  • 在 3.2 版本后,Redis 開始使用 quicklist 作為默認的 list 編碼方式。
  • quicklist 使用 linkedlist 組織(雙向鏈表),但每一個元素都是一個 ziplist,這樣可以降低內存占用。

list的應用場景

  • 列表可以當作 “數組” 使用,用于存儲多個元素。
  • 列表可以搭配 LPOPLPUSH 或者 RPOPRPUSH 當作 “棧” 使用,用于存儲多個元素,先進后出。
  • 列表可以搭配 LPUSHRPOP 或者 RPUSHLPOP 當作 “隊列” 使用,用于存儲多個元素,先進先出。
  • 列表還可以通過使用 BLPOPBRPOP 擔當 “生產者消費模型” 中的消息隊列。

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

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

相關文章

星火燎原:大數據時代的Spark技術革命在數字化浪潮席卷全球的今天,海量數據如同奔涌不息的洪流,傳統的數據處理方式已難以滿足實時、高效的需求。

星火燎原&#xff1a;大數據時代的Spark技術革命 在數字化浪潮席卷全球的今天&#xff0c;海量數據如同奔涌不息的洪流&#xff0c;傳統的數據處理方式已難以滿足實時、高效的需求。Apache Spark作為大數據領域的璀璨明星&#xff0c;憑借其卓越的性能和強大的功能&#xff0c…

通信算法之273 : 循環自相關函數和自相關函數

一、循環自相關函數定義與計算流程 ?定義式?: 循環自相關函數為時間平均自相關函數的傅里葉變換: Rxα(τ)=1T∫?T/2T/2Rx(t+τ2,t?τ2)e?j2παtdtRxα?(τ)=T1?∫?T/2T/2?Rx?(t+2τ?,t?2τ?)e?j2παtdt 其中,Rx(t,τ)Rx?(t,τ) 是信號的自相關函數,α為循…

使用 VMware 安裝一臺 Linux 系統之Centos

使用 VMware 安裝一臺 Linux 系統之Centos 想體驗一下 Linux 的魅力&#xff0c;又不想在現有電腦上進行大刀闊斧的改動&#xff1f;使用 VMware 虛擬機是一個絕佳的選擇。它能讓你在 Windows 或 macOS 系統中輕松創建一個獨立的 Linux 環境。本文將手把手帶你完成從下載 VMwa…

uniapp-商城-36-shop 購物車 選好了 進行訂單確認2 支付方式顏色變化和顏色濾鏡filter

顏色濾鏡&#xff0c;在好多網頁都這樣使用&#xff0c;濾掉彩色&#xff0c;顯示黑白&#xff0c;這在一些關鍵的日子中都這樣使用。 1、依然回到訂單確認頁面 看到支付的顏色了嘛&#xff1f; <view class"payType"><view class"box" :class&q…

gerbera文件轉PCB文件-Altium Designer

gerbera文件轉PCB文件-Altium Designer 1. 新建 CAM 文檔2. 導入 Gerber 文件和鉆孔文件導入 Gerber 文件導入鉆孔文件&#xff08;NC Drill&#xff09; 3. 提取網絡表4. 檢查并設置層映射5. 導出為 PCB 文件 1. 新建 CAM 文檔 打開 Altium Designer&#xff0c;執行以下操作…

Flask 請求數據獲取方法詳解

一、工作原理 在 Flask 中&#xff0c;所有客戶端請求的數據都通過全局的 request 對象訪問。該對象是 請求上下文 的一部分&#xff0c;僅在請求處理期間存在。Flask 在收到請求時自動創建 request 對象&#xff0c;并根據請求類型&#xff08;如 GET、POST&#xff09;和內容…

隊列基礎和例題

基礎 #include <queue> #include <iostream>/*** 入隊*/ void Test01() {std::queue<int> q;q.push(1);q.push(2);q.push(3);q.push(4);q.push(777);std::cout << "隊列大小:" << q.size() << std::endl;std::cout << &q…

U-Mail郵件加速服務:全球鏈路加速,安全穩定收發

由于跨國網絡擁堵、帶寬不穩定等因素&#xff0c;導致海外用戶在使用企業郵箱收發郵件時&#xff0c;經常出現郵件收發不暢的問題。針對這種情況&#xff0c;U-Mail正式推出了郵件加速服務&#xff0c;U-Mail郵件加速服務依托全球優質加速鏈路和轉發集群服務器&#xff0c;為海…

從工作到娛樂:Codigger Desktop 讓桌面環境更智能

在數字化時代&#xff0c;我們的桌面環境幾乎成了第二個家。Codigger Desktop 就像是這個家的設計師&#xff0c;幫你打造一個既實用又舒適的數字空間。無論你是想放松娛樂&#xff0c;還是高效工作&#xff0c;Codigger Desktop 都能滿足你的需求。 想象一下&#xff0c;你有一…

用python進行OCR識別

原文鏈接&#xff1a;https://www.bilibili.com/opus/1036675560501149699 我擔心原作者刪除&#xff0c;所以重新拷貝了一遍 1.下載tesseract 鏈接&#xff1a;https://github.com/UB-Mannheim/tesseract/wiki 這里示例安裝最新版本 點擊下載tesseract安裝包 2.安裝tess…

區間和數量統計 之 前綴和+哈希表

文章目錄 1512.好數對的數目2845.統計趣味子數組的數目1371.每個元音包含偶數次的最長子字符串 區間和的數量統計是一類十分典型的問題&#xff1a;記錄左邊&#xff0c;枚舉右邊策略前置題目&#xff1a;統計nums[j]nums[i]的對數進階版本&#xff1a;統計子數組和%modulo k的…

PCB 制造流程分步指南

最近的一次PCB打板經歷&#xff0c;板廠工程人員告知絲印偏到焊盤上了&#xff0c;內部讓我評估是否可以繼續貼片。 于是發一期文章&#xff0c;介紹一下PCB制造流程。 PCB制造工藝 PCB設計獲得批準且制造商收到最終制造文件后&#xff0c;PCB制造或生產就開始了。此時&…

python實現簡單的UI交互

文章目錄 1. 基礎打印 覆蓋同一行2. 多行動畫效果3. 彩色文本&#xff08;Windows/macOS/Linux&#xff09;4. 輸入交互5. 異步輸入與非阻塞顯示6. 高級控制臺 UI 庫 可以通過控制臺打印實現簡單的「偽UI交互」&#xff0c;尤其適合展示進度、動態文本或輕量級狀態反饋。以下是…

AI與思維模型【77】——PDCA思維模型

一、定義 PDCA思維模型是一種用于持續改進和優化工作流程、項目實施以及問題解決的科學管理方法。它由四個英文字母組成&#xff0c;分別代表計劃&#xff08;Plan&#xff09;、執行&#xff08;Do&#xff09;、檢查&#xff08;Check&#xff09;和處理&#xff08;Act&…

10天學會嵌入式技術之51單片機-day-3

第九章 獨立按鍵 按鍵的作用相當于一個開關&#xff0c;按下時接通&#xff08;或斷開&#xff09;&#xff0c;松開后斷開&#xff08;或接通&#xff09;。實物圖、原理圖、封裝 9.2 需求描述 通過 SW1、SW2、SW3、SW4 四個獨立按鍵分別控制 LED1、LED2、LED3、LED4 的亮…

vite+vue2+elementui構建之 package.json

webpack版本太低&#xff0c;構建依賴太多&#xff0c;頭大。 各種查閱資料&#xff0c;弄了一份直通構建vite構建elementUi核心文件&#xff0c; 構建基于開源若依vue2vue3版本改造&#xff0c;感謝開源&#xff0c;感謝若依。 vitevue2elementui構建之 vite.config.js-CSD…

提升變電站運維效率:安科瑞無線測溫系統創新應用

一、引言 變電站作為電力系統的關鍵樞紐&#xff0c;承擔著變換電壓、分配電能以及控制電力流向等重要任務。在變電站的運行過程中&#xff0c;電氣設備的接點溫度監測至關重要。過熱問題可能由多種因素引發&#xff0c;如電阻過大、接頭質量欠佳、銜接不緊密、物理老化等&…

DMA的三種傳輸功能

①內存到內存 #include "dma.h" #include "stdio.h"#define BUF_SIZE 16uint32_t src_buf[BUF_SIZE] {0x00000000,0x11111111,0x22222222,0x33333333,0x44444444,0x55555555,0x66666666,0x77777777,0x88888888,0x99999999,0xAAAAAAAA,0xBBBBBBBB,0xCCCCCCC…

【MySQL】MySQL 表的增刪改查(CRUD)—— 下篇(內含聚合查詢、group by和having子句、聯合查詢、插入查詢結果)

目錄 1. 插入查詢結果 2 聚合查詢 &#xff08;行與行之間運算&#xff09; count 計算查詢結果的行數 sum 求和 avg 求平均值 max 最大值 min 最小值 【小結】 3. group by 子句 分組 where 條件 having 條件 4. 聯合查詢&#xff08;多表查詢&#xff09; 內連接…

“思考更長時間”而非“模型更大”是提升模型在復雜軟件工程任務中表現的有效途徑 | 學術研究系列

作者&#xff1a;明巍/臨城/水德 還在為部署動輒數百 GB 顯存的龐大模型而煩惱嗎&#xff1f;還在擔心私有代碼庫的安全和成本問題嗎&#xff1f;通義靈碼團隊最新研究《Thinking Longer, Not Larger: Enhancing Software Engineering Agents via Scaling Test-Time Compute》…