Redis資料庫(string和hash型別)

2021-07-13 04:02:16 字數 2523 閱讀 5380

一.string型別

string型別是redis中最簡單的型別,乙個key對應乙個value,redis的string可以包含任何資料物件,比如jpg或者序列化的物件。

關於string型別的操作如下:

(1)set和get

set用來設定乙個鍵值對,例如:set name acdreamer ,意思就是說設定乙個name為"acdreamer"的鍵值對,而要獲取乙個鍵值對,用get name即可。

(2)setnx

設定key對應的值為string型別的value,如果key已經存在,返回0,nx是not exist的意思。

比如,set name acdreamer,然後我們用setnx name jack,這裡name不會被覆蓋掉。

(3)setex

設定key對應值為string型別的value,並指定此鍵值對應的有效期。例如,指定乙個haircolor=red的有效期為10s,那麼set haircolor 10 red,10s後就失效。

(4)setrange

設定指定key的value值的子字串。比如:將我的qq郵箱替換為gmail郵箱。

set mail [email protected]

setrange mail 10 gmail

表示從第10個下標開始進行替換,替換後的結果為acdreamer@gmailm,顯然這種替換不合理.

(5)mset

一次設定多個key的值,成功返回ok表示所有的值都設定了,返回0表示沒有任何值被設定。

mset name acdreamer age 21 *** male

(6)msetnx

一次設定多個key的值,成功返回ok表示所有的值都被設定了,返回0表示沒有任何值被設定,但不會已存在的key。只要有乙個設定不成功,那麼所有的鍵都會設定不成功。

(7)getset

設定key的新值,並返回乙個key的舊值。

(8)getrange

獲取乙個key的value值得字串,比如getrange name 0 5

(9)mget

一次獲取多個key的值,如果不存在返回對應的nil。例如:mget name age ***

(10)incr

對key的值做加加操作,並返回新的值。例如:incr age

(11)incrby

同incr類似,加指定值,key不存在時會設定key,並認為原來的值為0。

例如,incrby age 5

(12)decr和decrby

與incr和incrby差不多,對指定的key進行減操作。

(14)strlen

取指定key的value值得長度。

二.hash型別

redis的hash型別是乙個string型別的field和value的對映表,它的新增和刪除操作都是o(1),hash特別適合儲存物件,相對於物件的每個欄位存成單個的string型別,將乙個物件儲存為hash型別將使用更少的記憶體,並且可以方便訪問整個物件。可以看出hash就相當於mysql中的一張表。

hash表的操作:

(1)hset

設定表中的字段的值,例如:hset table name acdreamer

(2)hsetnx

如果同一張hash表中的同乙個欄位的值已經被設定,則返回0,代表設定不成功,跟string型別中的setnx用法差不多。

(3)hmset

批量設定,跟string中的mset用法差不多,可以同時設定多個字段。例如

hmset table name acdreamer age 21 *** male

(4)hget和hmget

hget返回hash表中的單個欄位的值,例如:hget table name

hmget返回hash表中多個欄位的值,例如:hmget table name age ***

(5)hincrby

hash表中指定欄位的值加一定值,例如:hincrby table age 4

(6)hexists

判斷一張hash表中的某個字段是否存在,如果存在返回1,否則返回0。

例如:hexists table name

(7)hlen

返回指定hash表的所有存在欄位的數量。

(8)hdel

刪除hash表中指定的字段。

(9)hkeys

返回hash表中所有的字段。例如:hkeys table

(10)hvals

返回hash表中所有欄位的值。例如:hvals table

(11)hgetall

獲取某個hash表中的全部field和value值。

ubuntu 14.04下redis安裝及簡單測試

redis集群明細文件

ubuntu 12.10下安裝redis(**詳解)+ jedis連線redis

redis系列-安裝部署維護篇

centos 6.3安裝redis

redis安裝部署學習筆記

redis配置檔案redis.conf 詳解

redis 的詳細介紹:請點這裡 

Redis(三) string型別資料庫操作

目錄 string型別 儲存 設定鍵值 設定鍵值及過期時間,以秒為單位 設定多個鍵值 追加值 獲取 獲取 根據鍵獲取值,如果不存在此鍵則返回nil 根據多個鍵獲取多個值 查詢 查詢鍵,引數 持正規表示式 檢視所有鍵 檢視名稱中包含a的鍵 判斷鍵是否存在,如果存在返回1,不存在返回0 檢視鍵對應的va...

Redis資料庫和MySQL資料庫的區別

redis是乙個記憶體資料庫,每次刪除或者其他操作,都需要進行flush操作 mysql資料庫在linux系統中,也是需要進行flush操作的。在hive中,需要將mysql的jar包匯入,然後要用高版本的jar包去替換低版本的jline包的。hive客戶端 主要配置以下檔案 1 將hive檔案包上...

Redis資料庫(初級)

redis是乙個開源的非關係型資料庫,它採用c語言編寫,是乙個key value儲存系統,它儲存的value型別很多,包括string 字串 list 鍊錶 set 集合 zset 有序集合 hash 雜湊 比如,我們插入一條資料,如下 python view plain copy import r...