Redis常用命令(四)資料庫管理、鍵管理、訂閱發布

來源:互聯網
上載者:User

標籤:redis   redis資料庫管理   redis鍵到期   redis訂閱與發布   

### 資料庫管理


keys pattern  # 尋找鍵,參數萬用字元尋找


keys *  # 查看所有鍵

keys n*  # 查看以n開頭的所有鍵

keys *e  # 查看以e結尾的所有鍵

keys h?llo

keys h[ae]llo


exists name  # 查看name這個鍵是否存在,存在為1,不存在為0


type key  # 查看鍵對應的value的類型

type name


del key1 key2 ...  # 刪除鍵及對應的值

del addr


rename key newkey  # 將鍵的名字從key改成newkey,如果newkey已存在,則覆蓋

rename num1 num3


renamenx key newkey  # 將鍵的名字從key改成newkey,如果newkey已存在,則不做動作

renamenx num3 num2


# 通過調用sort命令對列表、集合以及有序集合進行排序

sort key [by pattern] [limit offset count] [get pattern [get pattern]] [asc|desc] [alpha] [store destination]

rpush numbers 9 5 1 3 2

sort numbers  # 預設情況下sort命令會將鍵包含的值解釋為浮點數,然後對浮點數進行排序

sort numbers asc

sort numbers desc


sadd names peter jack tom

sort names alpha  # 使用alpha讓sort命令基於字典序對文字進行排序


sort numbers limit 0 3  # 不跳過任何值,返回最開頭的三個值

sort numbers limit 3 3  #  逃過最開頭的三個值,然後返回緊接著的三個值


sort numbers store sorted-numbers  # 通過指定store destkey,我們將排序結果儲存到destkey中,排序的結果會以列表的形式儲存


randomkey  # 從當前資料庫中隨機的返回一個鍵,被返回的鍵不會被刪除


# scan命令以漸進的方式分多次遍曆整個資料庫,並返回匹配給定模式的鍵

# cursor是遍曆時使用的遊標,開始新的遍曆時需要將cursor設定為0,每次調用scan,命令都會返回一個新的遊標值,再次調用scan需要輸入整個遊標值

# match pattern用於指定要匹配的模式

# count number指定這次遍曆最多要返回多少個鍵

scan cursor [match pattern] [count number]

scan 0


sscan key cursor [match pattern] [count number]  # 代替可能會阻塞伺服器的smembers命令,遍曆集合包含的各個元素

sscan names 0


hscan key cursor [match pattern] [count number]  # 代替可能會阻塞伺服器的hgetall命令,遍曆散列包含的各個索引值對

hscan daiby::info 0


zscan key cursor [match pattern] [count number]  # 代替可能會阻塞伺服器的zrange命令,遍曆有序集合包含的各個元素

zscan "blog::paging" 0


dbsize  # 返回資料庫目前包含的索引值對數量


flushdb  # 刪除當前資料庫包含的所有索引值對


select num  # 切換資料庫


move key target-db  # 將當前資料庫中的key移動到目標資料庫中,如果目標資料庫已經有同名的key,則不做動作

move numbers 1


flushall  # 刪除redis所有資料庫裡面的索引值對


# 鍵到期功能

# expire 和 pexpire的作用是讓鍵在N秒鐘或者N毫秒之後被刪除

# expireat 和 pexpireat的作用則是讓鍵在指定的Unix時間到達之後被刪除


expire key seconds  # 設定鍵存留時間,以秒為單位,如果沒有指定到期時間則一直存在,直到使用DEL移除

expire name 5


pexpire key milliseconds  # 設定鍵存留時間,以毫秒為單位,一秒鐘等於1000毫秒,redis預設100毫秒一次檢查鍵是否到期

pexpire msg 5500


expireat key timestamp  # 設定鍵到期時間,指定秒級Unix時間戳記

expireat msg 100000005


pexpireat key milliseconds-timestamp  # 設定鍵到期時間,指定毫秒級Unix時間戳記

pexpireat msg 100000000000005


pttl key  # 查看剩餘存留時間,以毫秒為單位


ttl key  # 查看剩餘存留時間,以秒為單位

ttl age


persist  # 刪除存留時間或到期時間

persist msg


setex key seconds value  # 設定索引值及到期時間,以秒為單位

set age 5 18


psetex key millisecond value  # 設定索引值及到期時間,以毫秒為單位;相當於執行了set和pexpire兩個命令

set age 5000 18



### 發布與訂閱


subscribe channel [channel...]  # 訂閱給定的一個或多個頻道

subscribe news::it


psubscribe pattern [pattern...]  # 訂閱一個或多個模式,pattern參數可以包含glob風格的匹配符(*,[],?)

psubscirbe news::[ie]t


# 退訂命令的行為在各個用戶端的表現都不同,redis-cli直接退出用戶端來退訂,Python和ruby則需要顯示的執行命令

unsubcribe [channel|[channel...]]  # 退訂指定的頻道,如果沒有指定則退訂已訂閱的所有頻道


punsubcribe [pattern|[pattern...]]  # 退訂指定的模式,如果沒有指定則退訂已訂閱的所有模式


channels  # 顯示已訂閱的頻道


publish channel message  # 將訊息發送至指定的頻道,命令返回收到資訊的訂閱者數量


pubsub channels [pattern]  # 列出至少有一個訂閱者的頻道


pubsub numsub [channel...]  # 返回給定頻道的訂閱者數量


pubsub numpat  # 返回被訂閱的模式數量


本文出自 “戴柏陽的部落格” 部落格,請務必保留此出處http://daibaiyang119.blog.51cto.com/3145591/1964015

Redis常用命令(四)資料庫管理、鍵管理、訂閱發布

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.