redis操作命令總結(jié)
如果你是用手機(jī)再看這篇文章的話绞旅,有可能代碼塊部分會(huì)根據(jù)手機(jī)自動(dòng)換行等影響體驗(yàn)勺爱,你可以更換電腦查看,如果是習(xí)慣手機(jī)查看,或者不方便使用電腦的話蒜撮。那么可以關(guān)注我的公眾號(hào)《小閆筆記》,在歷史記錄中搜索這篇文章即可。
1.啟動(dòng)redis服務(wù)端和客戶端
服務(wù)端啟動(dòng)redis-server
(server服務(wù)器)
客戶端啟動(dòng):redis-cli
(cli代表的就是client客戶端)
2.redis操作之string類型(最常使用,請掌握)
2.1設(shè)置(增加)數(shù)據(jù)
1/單個(gè)鍵值對(duì)set key value
(set設(shè)置,key鍵,value值)
2/給鍵值對(duì)設(shè)置有效期setex key second value
(second秒,直接填數(shù)值即可,默認(rèn)的單位是秒)
3/設(shè)置多個(gè) 鍵值對(duì):mset key1 value1 key2 value2
(m可以是many多的意思)
4/追加值:append key value
(append增加,這個(gè)單詞大家肯定不陌生)
2.2獲取數(shù)據(jù)
1/獲取單個(gè)值get key
(get得到)
2/獲取多個(gè)值:mget key1 key2
2.3 通過鍵查看值
1/查看所有的鍵keys *
2/查看以a開頭的鍵:keys 'a*'
3/查看鍵是否存在:exists key1
(exist存在)
4/查看鍵的類型:type key1
(type類型)
2.4 刪除鍵值對(duì)
1/刪除鍵:del key1 key2
(del是delete刪除的意思)
2/設(shè)置鍵有效期,刪除鍵:expire key seconds
(seconds是秒second的復(fù)數(shù)形式,說明單位是秒,我們可以設(shè)置很長時(shí)間)
3/查看鍵的有效期:ttl key
(對(duì)不起,這個(gè)我實(shí)在是想不出單詞和他對(duì)應(yīng)了>.<...)
3.redis操作之hash類型
3.1增加數(shù)據(jù)
1/在散列鍵key中關(guān)聯(lián)給定的域值對(duì)(filed-value pair):hset key field value
說明:如果域field之前沒有關(guān)聯(lián)值,那么命令返回1,如果已經(jīng)關(guān)聯(lián)過了,那么新值覆蓋舊值,返回0
2/給一個(gè)散列鍵里面設(shè)置多個(gè)域值對(duì);hmset key filed1 value1 field2 value2....
實(shí)例:hmset name wangtao ha xiaoyan xi
代表的是給散列name里面存了wangtao-ha和xiaoyan-xi這兩個(gè)域值對(duì)
3.2獲取數(shù)據(jù)
1/ 返回散列鍵 key 中寻定,域 field 所關(guān)聯(lián)的值:hget key field
說明:如果域field沒有關(guān)聯(lián)值,那么返回nil
2/獲取多個(gè)域所關(guān)聯(lián)的值:hmget key filed1 field2....
實(shí)例:hmget name wangtao xiaoyan
獲取散列鍵name里面域wangtao和xiaoyan所關(guān)聯(lián)的值
3/獲取散列鍵中所有的域:hkeys key
實(shí)例:hkeys name
獲取散列鍵name里面所有的域
3.3 刪除數(shù)據(jù)
1/刪除散列鍵 key 中的一個(gè)或多個(gè)指定域,以及那些域的值:hdel key filed1 filed2...
說明:不存在的域?qū)⒈缓雎韵蚝C罘祷乇怀晒h除的域值對(duì)數(shù)量。
3.4 記憶小竅門
1/之前字符串類型中的操作命令掌握之后,我們再來看hash類型的命令,會(huì)發(fā)現(xiàn)好多命令都是相同的,只是在前面加了一個(gè)專屬hash類型的標(biāo)識(shí)h
,大家可以看hget和hset等等
2/其實(shí)hash類型就是相當(dāng)于給key里面存一個(gè)一個(gè)的field-value鍵值對(duì),比字符串類型的多了一層而已,大家學(xué)完再回顧一遍就會(huì)發(fā)現(xiàn)不難了
4.redis操作之list類型
4.1插入數(shù)據(jù)
1/左側(cè)插入數(shù)據(jù):lpush key value1 value2..
(l代表的是left左側(cè)可以形象的理解為從左向右推)
ps:(也許這里你會(huì)發(fā)現(xiàn)個(gè)小問題,就是自己設(shè)置完值后,在取值的時(shí)候,發(fā)現(xiàn)值的順序變成了倒序,不要懷疑你的眼睛,其實(shí)它沒問題,當(dāng)然也不是你的問題,給大家簡單的解釋一下這個(gè)原理:就是我們從左向右推進(jìn)去,那么隨著第二個(gè)值推進(jìn)去,第一個(gè)值是不是就被推到里面了,我們一般的排序或者下標(biāo)索引是不是從左開始標(biāo)號(hào)0123,那么是不是第二個(gè)就變成了第一個(gè)呢?)
2/右側(cè)插入數(shù)據(jù):rpush key value1 value2..
(r代表的是right右側(cè),可以結(jié)合前面理解為從右向左側(cè)推)
3/指定key,舊元素位置前插入元素
linsert key before oldvalue newvalue
(insert是插入的意思,l可以理解為時(shí)list列表的操作方法,oldvalue指的是舊元素,newvalue指的就是要插入的新元素)
4/指定key,舊元素位置后插入元素
linsert key after oldvalue newvalue
(這里的靈魂單詞便是after后面的意思,和前面的before一樣,只需要記倆單詞即可)
4.2獲取數(shù)據(jù)
1/獲取從編號(hào)start位置到編號(hào)stop位置的元素
lrange key start stop
(l可以理解為list列表,range就是范圍的意思,start是開始,stop是結(jié)束,這樣應(yīng)該就好記憶一些了)
tip:(最后一個(gè)元素的下標(biāo)索引可以使用-1)
實(shí)例:lrange list 0 -1
查看列表的所有值,從第0號(hào)元素開始到最后一個(gè)元素
2/設(shè)置指定索引位置的元素值:
lset key index value
(l依舊是list,index指的是索引下標(biāo))
4.3刪除數(shù)據(jù)
1/將key域列表中,前count次,值為value的元素刪除:
lrem key count value
(l還是list,rem是remove移除的意思,count就是次數(shù))
tip:(這里有一個(gè)小點(diǎn):當(dāng)count>0的時(shí)候從頭開始數(shù),當(dāng)count<0的時(shí)候,從屁股開始數(shù)"請?jiān)徫业拇拄?話糙理不糙",當(dāng)count=0的時(shí)候查找的就是所有的元素)
5. redis的操作之set
5.1添加元素
1/向key域(集合)中添加多個(gè)數(shù)據(jù)
sadd key member1 member2...
(s代表的就是set集合,add就是增加的意思,member就是成員的意思,意思就是給key里面添加成員(元素))
特點(diǎn):有序.不重復(fù)
5.2獲取元素
獲取key域集合的所有元素:
smembers key
(s就是set集合,members是member成員(元素)的復(fù)數(shù)形式,就是查所有的元素了)
5.3刪除元素
刪除指定的key元素的值:
srem key value
(s就是set集合,rem就是remover刪除的意思)
6. redis的操作之zset
6.1增加數(shù)據(jù)
向key域結(jié)合中添加多個(gè)score1,member1數(shù)據(jù)
zadd key score1 member1 score2 member2...
(z就是zset類型,add是增加的意思,score是分?jǐn)?shù)和記錄的意思,member就是成員的意思,意思就是記錄一個(gè)成員(元素),記錄一個(gè)成員(元素)吧)
6.2獲取數(shù)據(jù)
1/返回指定范圍內(nèi)的member元素:
zrange key start stop
(z就是zset類型,range就是范圍的意思,start就是開始,stop就是停止)
start
:為開始索引,包含這個(gè)索引的元素
stop
:為屁股索引,包含,其中-1代表的是最后一個(gè)元素
2/獲取min和max權(quán)值之間(包含)的成員值:
zrangebyscore key min max
(z就是zset類型,range就是范圍,by就是通過,score分?jǐn)?shù)(在增加數(shù)據(jù)的時(shí)候,用到了這個(gè)鍵名),合起來翻譯就是通過score這個(gè)鍵從權(quán)重值min(最小)和max(最大值)這個(gè)范圍內(nèi)獲取成員值)
權(quán)值值的就是權(quán)重值
3/獲取key域(集合)中member的score的權(quán)重值:
zscore key member
6.3刪除元素
1/刪除域(集合)中指定的元素值:
zrem key member1 member2....
2/刪除集合中權(quán)重在指定范圍內(nèi)(min,max)的元素
zremrangebyscore key min max
(這句話的意思和之前解釋的沒什么差別,只有rem是remover刪除的前三個(gè)字母,就是通過score查找那個(gè)范圍內(nèi)的元素進(jìn)行刪除)
查看更多命令(估計(jì)你也不想查了,但是還是象征性的放一個(gè)鏈接吧,萬一哪天腦子一熱或者工作需要想查查呢):http://www.redis.cn
優(yōu)質(zhì)文章推薦:
公眾號(hào)使用指南
redis操作命令總結(jié)
前端中那些讓你頭疼的英文單詞
Flask框架重點(diǎn)知識(shí)總結(jié)回顧
項(xiàng)目重點(diǎn)知識(shí)點(diǎn)詳解
難點(diǎn)理解&面試題問答
flask框架中的一些常見問題
團(tuán)隊(duì)開發(fā)注意事項(xiàng)
淺談密碼加密
Django框架中的英文單詞
Django中數(shù)據(jù)庫的相關(guān)操作