Redis超強(qiáng)入門指南—數(shù)據(jù)類型操作命令(上)

本篇文章主要內(nèi)容
字符串類型(string)
哈希類型 hash
視頻觀看戳??????

字符串類型(string)
字符串類型是 Redis 中最基本的數(shù)據(jù)類型,它能存儲任何形式的字符串,包括二進(jìn)制數(shù)據(jù),序列化后的數(shù)據(jù),JSON 格式數(shù)據(jù)。
基本命令
先測試能連接到 redis 服務(wù)器

1. set
將字符串值 value 設(shè)置到 key 中
語法:set key value

查看已經(jīng)插入的 key

向已經(jīng)存在的 key 設(shè)置新的 value,會覆蓋原來的值

2.?get
獲取?key?中設(shè)置的字符串值
語法:get key
例如:獲取 username 這個(gè) key 對應(yīng)的value

3.?incr
將 key 中儲存的數(shù)字值加 1,如果 key 不存在,則 key 的值先被初始化為 0 再執(zhí)行
incr 操作(只能對數(shù)字類型的數(shù)據(jù)操作) 語法:incr key
例 1:操作key,值增加 1

例 2:對非數(shù)字的值操作是不行的

4. decr
將 key 中儲存的數(shù)字值減1,如果 key 不存在,則么 key 的值先被初始化為 0 再執(zhí)
行 decr 操作(只能對數(shù)字類型的數(shù)據(jù)操作)
語法:decr key
例1:不存在的key,初值為0,再減 1 。

例2:對存在的數(shù)字值的key ,減 1 。
先執(zhí)行 incr index ,增加到 3?

incr ,decr 在實(shí)現(xiàn)關(guān)注人數(shù)上,文章的點(diǎn)擊數(shù)上。
5. append
語法:append key value
說明:如果 key 存在,則將 value 追加到 key 原來舊值的末尾如果 key 不存在,則將 key 設(shè)置值為 value
返回值:追加字符串之后的總長度
例 1:追加內(nèi)容到存在的 key

例 2:追加到不存在的 key,同 set key value

常用命令
1. strlen
語法:strlen key
說明:返回key 所儲存的字符串值的長度
返回值:
? ①:如果key存在,返回字符串值的長度?
? ②:key不存在,返回0?
例 1:計(jì)算存在 key 的字符串長度

設(shè)置中文 set k4 中文長度,按字符個(gè)數(shù)計(jì)算
例 2:計(jì)算不存在的key

2.?getrange
語法:getrange key start end
作用:獲取 key 中字符串值從 start 開始到 end 結(jié)束的子字符串,包括 start 和 end,??負(fù)數(shù)表示從字符串的末尾開始,-1 表示最后一個(gè)字符
返回值:截取的子字符串。
使用的字符串 key: school, value: bjpowernode
例 1: 截取從 2 到 5 的字符

例 2:從字符串尾部截取,start ,end 是負(fù)數(shù),最后一位是-1

例 3:超出字符串范圍的截取,獲取合理的子串

3.?setrange
語法:setrange key offset value
說明:用value 覆蓋(替換)key 的存儲的值從 offset 開始,不存在的 key 做空白字符串。
返回值:修改后的字符串的長度
例 1:替換給定的字符串

例 2:設(shè)置不存在的 key

4.?mset
語法:mset key value [key value…]
說明:同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對
返回值:OK
例 1:一次設(shè)置多個(gè) key,value

5.?mget
語法:mget key [key …]
作用:獲取所有(一個(gè)或多個(gè))給定 key 的值
返回值:包含所有 key 的列表
例 1:返回多個(gè) key 的存儲值

例 2:返回不存在的 key

哈希類型 hash
redis hash 是一個(gè) string 類型的 field 和value 的映射表,hash 特別適合用于存儲對象。
基本命令
1. hset
語法:hset hash?表的?key field value
作用:將哈希表 key 中的域 field 的值設(shè)為 value,如果 key 不存在,則新建 hash 表,執(zhí)行賦值,如果有 field?,則覆蓋值。
返回值:
①如果 field 是 hash 表中新 field,且設(shè)置值成功,返回 1
②如果 field 已經(jīng)存在,舊值覆蓋新值,返回 0
例 1:新的 field

例 2:覆蓋舊的的 field

2.?hget
語法:hget key field
作用:獲取哈希表 key 中給定域 field 的值
返回值:field 域的值,如果 key 不存在或者 field 不存在返回 nil
例 1:獲取存在 key 值的某個(gè)域的值

例 2:獲取不存在的 field

3.?hmset
語法:hmset?key field value [field?value…]
說明:同時(shí)將多個(gè) field-value?(域-值)設(shè)置到哈希表 key 中,此命令會覆蓋已經(jīng)存在的 field, hash 表 key 不存在,創(chuàng)建空的 hash 表,執(zhí)行 hmset.
返回值:設(shè)置成功返回 ok,如果失敗返回一個(gè)錯(cuò)誤
例 1:同時(shí)設(shè)置多個(gè) field-value

使用redis-desktop-manager 工具查看 hash 表 website 的數(shù)據(jù)結(jié)構(gòu)

例 2:key 類型不是 hash,產(chǎn)生錯(cuò)誤

4. hmget
語法:hmget key field [field…]
作用:獲取哈希表 key 中一個(gè)或多個(gè)給定域的值
返回值:返回和 field 順序?qū)?yīng)的值,如果 field 不存在,返回 nil
例 1:獲取多個(gè) field 的值

5. hgetall
語法:hgetall key
作用:獲取哈希表 key 中所有的域和值
返回值:以列表形式返回 hash 中域和域的值,key 不存在,返回空 hash
例 1:返回 key 對應(yīng)的所有域和值

例 2:不存在的 key,返回空列表

6. hdel
語法:hdel key field [field…]
作用:刪除哈希表 key 中的一個(gè)或多個(gè)指定域 field,不存在 field 直接忽略
返回值:成功刪除的 field 的數(shù)量
例 1:刪除指定的 field

常用命令
1.?hkeys
語法:hkeys key
作用:查看哈希表 key 中的所有 field 域
返回值:包含所有 field 的列表,key 不存在返回空列表
例 1:查看 website 所有的域名稱

2.?hvals
?語法:hvals key
作用:返回哈希表中所有域的值
返回值:包含哈希表所有域值的列表,key 不存在返回空列表
例 1:顯示 website 哈希表所有域的值

3. hexists
語法:hexists key field
作用:查看哈希表 key 中,給定域 field 是否存在
返回值:如果 field 存在,返回 1,其他返回 0
例 1:查看存在 key 中 field 域是否存在

如果想更深入的學(xué)習(xí)Redis,奉上Redis視頻教程,視頻學(xué)習(xí)效果更佳,走過路過別忘素質(zhì)三連哦~~

