Redis的安裝和實(shí)際應(yīng)用-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“Redis的安裝和實(shí)際應(yīng)用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司2013年至今,先為永清等服務(wù)建站,永清等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為永清企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

一、Redis的安裝

下載安裝包,redis-3.2.9.tar.gz 網(wǎng)址:http://www.redis.cn/download.html
 
第一步:進(jìn)入解壓 redis 的文件夾
 
 
第二步: 找到安轉(zhuǎn)程序文 Makefile
 
 
 Redis的安裝和實(shí)際應(yīng)用
 
第三步: 執(zhí)行 mkae 命令
第四步: 執(zhí)行 make install
第五步: 修改 redis 的配置文件 redis.config (先備份一個(gè)原廠配置文件)
 
Redis的安裝和實(shí)際應(yīng)用
 
 
進(jìn)入 myredis 文件中修改運(yùn)行模式為后臺(tái)運(yùn)行,daemonize 修改成 yes
 
Redis的安裝和實(shí)際應(yīng)用
 
啟動(dòng) redis 服務(wù)器,使用修改后配置文件的位置
 
命令: redis-server 配置文件的地址

 Redis的安裝和實(shí)際應(yīng)用  
如果修改redis.conf,采用redis默認(rèn)的redis.conf文件, redis默認(rèn)只能通過127.0.0.1:6379這個(gè)地址訪問。這是由于redis有一個(gè)保護(hù)機(jī)制的存在,這樣就只能在本機(jī)上操作了,如果想要遠(yuǎn)程操作就不可行了。這里需要修改redis.conf這個(gè)配置文件,在配置文件中添加本機(jī)ip地址,這里假如添加ip地址:192.168.78.100,只需在redis.conf這個(gè)配置文件中bind 127.0.0.1后面追加:
bind 127.0.0.1 192.168.78.100
客戶端連接:在命令行 輸入 cd /usr/local/bin
進(jìn)入這個(gè)目錄 命令行輸入: ./redis-cli

 Redis的安裝和實(shí)際應(yīng)用
命令格式:redis-cli –h host –p port –a 密碼

二、Redis的使用

1、 切換數(shù)據(jù)庫:

select databaseid 默認(rèn)共有16個(gè)實(shí)例庫,登錄時(shí)是ID為0的數(shù)據(jù)庫,總共有16個(gè)

2、 Key 操作:

KEYS pattern
  查找所有符合給定模式 pattern 的 key 。
              EXISTS key
檢查給定 key 是否存在。
EXPIRE key seconds
為給定 key 設(shè)置生存時(shí)間,當(dāng) key 過期時(shí)(生存時(shí)間為 0 ),它會(huì)被自動(dòng)刪除。
MOVE key db
將當(dāng)前數(shù)據(jù)庫的 key 移動(dòng)到給定的數(shù)據(jù)庫 db 當(dāng)中。
如果當(dāng)前數(shù)據(jù)庫(源數(shù)據(jù)庫)和給定數(shù)據(jù)庫(目標(biāo)數(shù)據(jù)庫)有相同名字的給定 key ,或者 key 不存在于當(dāng)前數(shù)據(jù)庫,那么 MOVE 沒有任何效果。
TTL key
以秒為單位,返回給定 key 的剩余生存時(shí)間
TYPE key
返回 key 所儲(chǔ)存的值的類型。
DEL key [key ...]
刪除給定的一個(gè)或多個(gè) key 。不存在的 key 會(huì)被忽略。
 

3、String操作

SET key value [EX seconds] [PXmilliseconds] [NX|XX]
將字符串值 value 關(guān)聯(lián)到 key 。
如果 key 已經(jīng)持有其他值, SET 就覆寫舊值,無視類型。
對(duì)于某個(gè)原本帶有生存時(shí)間(TTL)的鍵來說, 當(dāng) SET 命令成功在這個(gè)鍵上執(zhí)行時(shí), 這個(gè)鍵原有的 TTL 將被清除。
GET key
返回 key 所關(guān)聯(lián)的字符串值。如果 key 不存在那么返回特殊值 nil 。
假如 key 儲(chǔ)存的值不是字符串類型,返回一個(gè)錯(cuò)誤,因?yàn)?GET 只能用于處理字符串值。
APPEND key value
如果 key 已經(jīng)存在并且是一個(gè)字符串, APPEND 命令將 value 追加到 key 原來的值的末尾。
如果 key 不存在, APPEND 就簡單地將給定 key 設(shè)為 value ,就像執(zhí)行 SET key value 一樣。
STRLEN key
返回 key 所儲(chǔ)存的字符串值的長度。
當(dāng) key 儲(chǔ)存的不是字符串值時(shí),返回一個(gè)錯(cuò)誤。
 
 
INCR key
將 key 中儲(chǔ)存的數(shù)字值增一。
如果 key 不存在,那么 key 的值會(huì)先被初始化為 0 ,然后再執(zhí)行 INCR 操作。
如果值包含錯(cuò)誤的類型,或字符串類型的值不能表示為數(shù)字,那么返回一個(gè)錯(cuò)誤。
INCRBY key increment
將 key 所儲(chǔ)存的值加上增量 increment 。
如果 key 不存在,那么 key 的值會(huì)先被初始化為 0 ,然后再執(zhí)行 INCRBY 命令。
如果值包含錯(cuò)誤的類型,或字符串類型的值不能表示為數(shù)字,那么返回一個(gè)錯(cuò)誤。
DECR key
將 key 中儲(chǔ)存的數(shù)字值減一。
DECRBY key decrement
將 key 所儲(chǔ)存的值減去減量 decrement 。
GETRANGE key start end
返回 key 中字符串值的子字符串,字符串的截取范圍由 start 和 end 兩個(gè)偏移量決定(包括 start 和 end 在內(nèi))。
負(fù)數(shù)偏移量表示從字符串最后開始計(jì)數(shù), -1 表示最后一個(gè)字符, -2 表示倒數(shù)第二個(gè),以此類推。
SETRANGE key offset value
用 value 參數(shù)覆寫(overwrite)給定 key 所儲(chǔ)存的字符串值,從偏移量 offset 開始。
不存在的 key 當(dāng)作空白字符串處理。
SETEX key seconds value
將值 value 關(guān)聯(lián)到 key ,并將 key 的生存時(shí)間設(shè)為 seconds
如果 key 已經(jīng)存在, SETEX 命令將覆寫舊值。
這個(gè)命令類似于以下兩個(gè)命令:
SET key value
EXPIRE key seconds  # 設(shè)置生存時(shí)間
不同之處是, SETEX 是一個(gè)原子性(atomic)操作,關(guān)聯(lián)值和設(shè)置生存時(shí)間兩個(gè)動(dòng)作會(huì)在同一時(shí)間內(nèi)完成,該命令在 Redis 用作緩存時(shí),非常實(shí)用。
SETNX key value
將 key 的值設(shè)為 value ,當(dāng)且僅當(dāng) key 不存在。
若給定的 key 已經(jīng)存在,則 SETNX 不做任何動(dòng)作。
SETNX 是『SET if Not eXists』(如果不存在,則 SET)的簡寫。
MGET key [key ...]
返回所有(一個(gè)或多個(gè))給定 key 的值。
如果給定的 key 里面,有某個(gè) key 不存在,那么這個(gè) key 返回特殊值 nil 。因此,該命令永不失敗。
MSET key value [key value ...]
同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對(duì)。
如果某個(gè)給定 key 已經(jīng)存在,那么 MSET 會(huì)用新值覆蓋原來的舊值,如果這不是你所希望的效果,請(qǐng)考慮使用 MSETNX 命令:它只會(huì)在所有給定 key 都不存在的情況下進(jìn)行設(shè)置操作。
MSETNX key value [key value ...]
同時(shí)設(shè)置一個(gè)或多個(gè) key-value 對(duì),當(dāng)且僅當(dāng)所有給定 key 都不存在。
即使只有一個(gè)給定 key 已存在, MSETNX 也會(huì)拒絕執(zhí)行所有給定 key 的設(shè)置操作。
MSETNX 是原子性的,因此它可以用作設(shè)置多個(gè)不同 key 表示不同字段(field)的唯一性邏輯對(duì)象(unique logic object),所有字段要么全被設(shè)置,要么全不被設(shè)置。

4、List 操作

LPUSH key value [value ...]
將一個(gè)或多個(gè)值 value 插入到列表 key 的表頭
如果有多個(gè) value 值,那么各個(gè) value 值按從左到右的順序依次插入到表頭: 比如說,對(duì)空列表 mylist 執(zhí)行命令 LPUSH mylist a b c ,列表的值將是 c b a ,這等同于原子性地執(zhí)行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三個(gè)命令。
RPUSH key value [value ...]
將一個(gè)或多個(gè)值 value 插入到列表 key 的表尾(最右邊)。
如果有多個(gè) value 值,那么各個(gè) value 值按從左到右的順序依次插入到表尾:比如對(duì)一個(gè)空列表 mylist 執(zhí)行 RPUSH mylist a b c ,得出的結(jié)果列表為 a b c ,等同于執(zhí)行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c 。
LRANGE key start stop
返回列表 key 中指定區(qū)間內(nèi)的元素,區(qū)間以偏移量 start 和 stop 指定。
下標(biāo)(index)參數(shù) start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個(gè)元素,以 1 表示列表的第二個(gè)元素,以此類推。
LPOP key
移除并返回列表 key 的頭元素。
RPOP key
移除并返回列表 key 的尾元素。
LINDEX key index
返回列表 key 中,下標(biāo)為 index 的元素。
下標(biāo)(index)參數(shù) start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個(gè)元素,以 1 表示列表的第二個(gè)元素,以此類推。
你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示列表的最后一個(gè)元素, -2 表示列表的倒數(shù)第二個(gè)元素,以此類推。
LLEN key
返回列表 key 的長度。
如果 key 不存在,則 key 被解釋為一個(gè)空列表,返回 0 .
LREM key count value
根據(jù)參數(shù) count 的值,移除列表中與參數(shù) value 相等的元素。
count 的值可以是以下幾種:
count > 0 : 從表頭開始向表尾搜索,移除與 value 相等的元素,數(shù)量為 count 。
count < 0 : 從表尾開始向表頭搜索,移除與 value 相等的元素,數(shù)量為 count 的絕對(duì)值。
count = 0 : 移除表中所有與 value 相等的值。
LTRIM key start stop
對(duì)一個(gè)列表進(jìn)行修剪(trim),就是說,讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除。
舉個(gè)例子,執(zhí)行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三個(gè)元素,其余元素全部刪除。
RPOPLPUSH source destination
命令 RPOPLPUSH 在一個(gè)原子時(shí)間內(nèi),執(zhí)行以下兩個(gè)動(dòng)作:
將列表 source 中的最后一個(gè)元素(尾元素)彈出,并返回給客戶端。
將 source 彈出的元素插入到列表 destination ,作為 destination 列表的的頭元素。
舉個(gè)例子,你有兩個(gè)列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,執(zhí)行 RPOPLPUSH sourcedestination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,并且元素 c 會(huì)被返回給客戶端。
LSET key index value
將列表 key 下標(biāo)為 index 的元素的值設(shè)置為 value 。
當(dāng) index 參數(shù)超出范圍,或?qū)σ粋€(gè)空列表( key 不存在)進(jìn)行 LSET 時(shí),返回一個(gè)錯(cuò)誤。
LINSERT key BEFORE|AFTER pivot value
將值 value 插入到列表 key 當(dāng)中,位于值 pivot 之前或之后。
當(dāng) pivot 不存在于列表 key 時(shí),不執(zhí)行任何操作。
當(dāng) key 不存在時(shí), key 被視為空列表,不執(zhí)行任何操作。
 

5、Set操作

SADD key member [member ...]
將一個(gè)或多個(gè) member 元素加入到集合 key 當(dāng)中,已經(jīng)存在于集合的 member 元素將被忽略。
假如 key 不存在,則創(chuàng)建一個(gè)只包含 member 元素作成員的集合。
SMEMBERS key
返回集合 key 中的所有成員。
不存在的 key 被視為空集合。
SISMEMBER key member
判斷 member 元素是否集合 key 的成員。
 
 
SCARD key
返回集合 key 的基數(shù)(集合中元素的數(shù)量)。
SREM key member [member ...]
移除集合 key 中的一個(gè)或多個(gè) member 元素,不存在的 member 元素會(huì)被忽略。
SPOP key
移除并返回集合中的一個(gè)隨機(jī)元素。
如果只想獲取一個(gè)隨機(jī)元素,但不想該元素從集合中被移除的話,可以使用 SRANDMEMBER 命令。
SMOVE source destination member
將 member 元素從 source 集合移動(dòng)到 destination 集合。
SMOVE 是原子性操作。
如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執(zhí)行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,并添加到 destination 集合中去。
當(dāng) destination 集合已經(jīng)包含 member 元素時(shí), SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。
當(dāng) source 或 destination 不是集合類型時(shí),返回一個(gè)錯(cuò)誤。
SDIFF key [key ...]
返回一個(gè)集合的全部成員,該集合是所有給定集合之間的差集。
SINTER key [key ...]
返回一個(gè)集合的全部成員,該集合是所有給定集合的交集。
不存在的 key 被視為空集。
當(dāng)給定集合當(dāng)中有一個(gè)空集時(shí),結(jié)果也為空集(根據(jù)集合運(yùn)算定律)。
SUNION key [key ...]
返回一個(gè)集合的全部成員,該集合是所有給定集合的并集。
不存在的 key 被視為空集。
 

6、Sorted set 操作

類似Sets,但是每個(gè)字符串元素都關(guān)聯(lián)到一個(gè)叫score浮動(dòng)數(shù)值。里面的元素總是通過score進(jìn)行著排序,所以不同的是,它是可以檢索的一系列元素。注意:在 set 基礎(chǔ)上,加上 score 值,之前 set 是 key value1 value2….
現(xiàn)在 Zset 是 key score1 value1 score2 value2
ZADD key score member [[score member] [score member] ...]
將一個(gè)或多個(gè) member 元素及其 score 值加入到有序集 key 當(dāng)中。
redis> ZADD page_rank 9 baidu.com 8 bing.com
(integer) 2
redis> ZRANGE page_rank 0 -1 WITHSCORES
1) "bing.com"
2) "8"
3) "baidu.com"
4) "9"
5) "google.com"
6) "10"
ZRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定區(qū)間內(nèi)的成員。
其中成員的位置按 score 值遞增(從小到大)來排序。
具有相同 score 值的成員按字典序(lexicographical order )來排列。
如果你需要成員按 score 值遞減(從大到小)來排列,請(qǐng)使用 ZREVRANGE 命令。
下標(biāo)參數(shù) start 和 stop 都以 0 為底,也就是說,以 0 表示有序集第一個(gè)成員,以 1 表示有序集第二個(gè)成員,以此類推。
你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示最后一個(gè)成員, -2 表示倒數(shù)第二個(gè)成員,以此類推。
超出范圍的下標(biāo)并不會(huì)引起錯(cuò)誤。
比如說,當(dāng) start 的值比有序集的大下標(biāo)還要大,或是 start > stop 時(shí), ZRANGE 命令只是簡單地返回一個(gè)空列表。
另一方面,假如 stop 參數(shù)的值比有序集的大下標(biāo)還要大,那么 Redis 將 stop 當(dāng)作大下標(biāo)來處理。
可以通過使用 WITHSCORES 選項(xiàng),來讓成員和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。
 
ZREVRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定區(qū)間內(nèi)的成員。
其中成員的位置按 score 值遞減(從大到小)來排列。
ZREM key member [member ...]
移除有序集 key 中的一個(gè)或多個(gè)成員,不存在的成員將被忽略。
ZREMRANGEBYSCORE key min max
移除有序集 key 中,所有 score 值介于 min 和 max 之間(包括等于 min 或 max )的成員。
ZSCORE key member
返回有序集 key 中,成員 member 的 score 值。
ZCARD key
返回有序集 key 的基數(shù)。
ZCOUNT key min max
返回有序集 key 中, score 值在 min 和 max 之間(默認(rèn)包括 score 值等于 min 或 max )的成員的數(shù)量。
ZRANK key member
返回有序集 key 中成員 member 的排名。其中有序集成員按 score 值遞增(從小到大)順序排列。

7、Hash操作

KV 模式不變,但是 V 是一個(gè)鍵值對(duì)
 
HSET key field value
將哈希表 key 中的域 field 的值設(shè)為 value 。
HGET key field
返回哈希表 key 中給定域 field 的值。
HMSET key field value [field value ...]
同時(shí)將多個(gè) field-value (域-值)對(duì)設(shè)置到哈希表 key 中。
此命令會(huì)覆蓋哈希表中已存在的域。
HMGET key field [field ...]
返回哈希表 key 中,一個(gè)或多個(gè)給定域的值。
HGETALL key
返回哈希表 key 中,所有的域和值。
HKEYS key
返回哈希表 key 中的所有域。
HVALS key
返回哈希表 key 中所有域的值。
HSETNX key field value
將哈希表 key 中的域 field 的值設(shè)置為 value ,當(dāng)且僅當(dāng)域 field 不存在。
若域 field 已經(jīng)存在,該操作無效。
HEXISTS key field
查看哈希表 key 中,給定域 field 是否存在。
HDEL key field [field ...]
刪除哈希表 key 中的一個(gè)或多個(gè)指定域,不存在的域?qū)⒈缓雎浴?br/>HINCRBY key field increment
為哈希表 key 中的域 field 的值加上增量 increment 。
增量也可以為負(fù)數(shù),相當(dāng)于對(duì)給定域進(jìn)行減法操作。

“Redis的安裝和實(shí)際應(yīng)用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

本文題目:Redis的安裝和實(shí)際應(yīng)用-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://bm7419.com/article28/cdjscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站導(dǎo)航、做網(wǎng)站、網(wǎng)站排名、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營