日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis系列二、redis的五种数据结构和相关指令之String

發布時間:2024/7/23 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis系列二、redis的五种数据结构和相关指令之String 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

redis是一種基于鍵值對(key-value)的內存數據庫,redis數據結構可以分為string、hash、list、set、sorted set。本節中將介紹Redis支持的主要數據結構中的string,以及相關的常用Redis命令。

redis的五種數據結構和相關指令之String

字符串string

redis的字符串不限存儲格式,實際上可以是字符串(包括XML JSON),還有數字(整形 浮點數),二進制(圖片 音頻 視頻),最大不能超過512MB。

a、基本命令

SET:為一個key設置value,可以配合EX/PX參數指定key的有效期,通過NX/XX參數針對key是否存在的情況進行區別操作,時間復雜度O(1)
GET:獲取某個key對應的value,時間復雜度O(1)
GETSET:為一個key設置value,并返回該key的原value,時間復雜度O(1)
MSET:為多個key設置value,時間復雜度O(N)
MSETNX:同MSET,如果指定的key中有任意一個已存在,則不進行任何操作,時間復雜度O(N)
MGET:獲取多個key對應的value,時間復雜度O(N)
eg:

set age 23 ex 10 //10秒后過期 ?px 10000 毫秒過期 setnx name test ?//不存在鍵name時,返回1設置成功;存在的話失敗0 set age 25 xx ? ?//存在鍵age時,返回1成功 get age //獲值命令:存在則返回value, 不存在返回nil mset country china city beijing ?? ?//批量設值: mget country city address //批量獲取:返回china ?beigjin, address為nil

補充說明
帶“m”的批量指令能減少指令的網絡請求時間,提高效率。例如若沒有mget命令,則要執行n次get命令


使用mget=1次網絡請求+redis內部n次查詢

?

?

b、數值操作

當string的值為數值的時候就可以進行一些針對數值的增減操作:

incr age //必須為整數自加1,非整數返回錯誤,無age鍵從0自增返回1 decr age //整數age減1 incrby age 2 //整數age+2 decrby age 2//整數age -2 incrbyfloat score 1.1 //浮點型score+1.1


c、普通字符串操作

追加指令:

set name hello; append name world //追加后成helloworld

字符串長度:

set hello “世界”;strlen hello//結果6,每個中文占3個字節

截取字符串:

set name helloworld ; getrange name 2 4//返回 llo


d、key的使用技巧

不要使用過長的Key。例如使用一個1024字節的key就不是一個好主意,不僅會消耗更多的內存,還會導致查找的效率降低
Key短到缺失了可讀性也是不好的,例如”u1000flw”比起”user:1000:followers”來說,節省了寥寥的存儲空間,卻引發了可讀性和可維護性上的麻煩
最好使用統一的規范來設計Key,比如”object-type: id:attr”,以這一規范設計出的Key可能是”user:1000″或”comment: 1234:reply-to”
Redis允許的最大Key長度是512MB(對Value的長度限制也是512MB)
————————————————
版權聲明:本文為CSDN博主「lingengy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/w1lgy/article/details/84376756

總結

以上是生活随笔為你收集整理的Redis系列二、redis的五种数据结构和相关指令之String的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。