redis-API-字符串

字符串.png

值最大不能超過512MB

設置值

setex和setnx

set key value [ex 秒] [px 毫秒] [nx|xx]

  • nx:鍵必須不存在,才可以設置成功,用于添加
  • xx:鍵必須存在,才可以設置成功

獲取值

get key

  • 鍵不存在返回nil

批量設置值

mset key value [key value ...]

批量獲取值

mget key [key ....]

計數

incr key

incr命令用于對值做自增操作,返回結果分為三種情況:
·值不是整數,返回錯誤。
·值是整數,返回自增后的結果。
·鍵不存在,按照值為0自增,返回結果為1。

除了incr命令,Redis提供了decr(自減)、incrby(自增指定數字)、
decrby(自減指定數字)、incrbyfloat(自增浮點數):

decr key
incrby key increment
decrby key decrement
incrbyfloat key increment

追加值

append key value

字符串長度

strlen key

設置并返回值

getset key value

127.0.0.1:6379> getset hello world
(nil)
127.0.0.1:6379> getset hello redis
"world"

設置指定位置字符

setrange key offeset value

127.0.0.1:6379> set redis pest
OK
127.0.0.1:6379> setrange redis 0 b
(integer) 4
127.0.0.1:6379> get redis
"best"

獲取指定位置字符

getrange key start end

start和end分別是開始和結束的偏移量,偏移量從0開始計算

內部編碼

字符串類型的內部編碼有3種:
·int:8個字節的長整型。
·embstr:小于等于39個字節的字符串。
·raw:大于39個字節的字符串。
Redis會根據當前值的類型和長度決定使用哪種內部編碼實現。

使用場景

限速:
手機短信驗證,比如一分鐘不能超過5次
一些網站限制一個IP地址不能在一秒鐘之內訪問超過n次

2.共享session
一個分布式Web服務將用戶的Session信息保存在各自服務器中,這樣會造成一個問題,出于負載均衡的考
慮,分布式服務會將用戶的訪問均衡到不同服務器上,用戶刷新一次訪問可
能會發現需要重新登錄---可以使用Redis將用戶的Session進行集中管理
3.計數

注意:
設計合理的鍵名,有利于防止鍵沖突和項目的可維護性,比較推薦的方式是使用“業務名:對象名:id:[屬性]”作為鍵名。在能描述鍵含義的前提下適當減少鍵的長度,從而減少由于鍵過長的內存浪費。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • redis是一個以key-value存儲的非關系型數據庫。有五種數據類型,string、hashes、list、s...
    林ze宏閱讀 1,022評論 0 0
  • 1 Redis介紹1.1 什么是NoSql為了解決高并發、高可擴展、高可用、大數據存儲問題而產生的數據庫解決方...
    克魯德李閱讀 5,354評論 0 36
  • 前言 Redis的作者antirez(Salvatore Sanfilippo)曾經發表了一篇名為Redis宣言(...
    OzanShareing閱讀 1,472評論 0 20
  • Ubuntu下安裝redis 安裝redis 在 Ubuntu 系統安裝 Redi 可以使用以下命令: 啟動 Re...
    riverstation閱讀 970評論 0 0
  • 由于受到小蘭巨音刺激,葉塵本能猛得一躍,竟達到三四米,由于用力過猛,竟然撞到屋頂,哎呦~!殺豬般的叫聲暴虐響起,幾...
    夢落晨閱讀 354評論 0 0