閱讀目錄redis
1.keys * 命令性能
首先咱們須要使用set命令創建一個名爲 key1 的鍵。以下命令:編碼
redis> set key 1
ok
以下所示:spa
如上代碼,當咱們使用 keys * 命令就能得到Redis中全部的鍵了。可是當鍵的數量不少的話會稍微影響性能,不建議在生產環境中使用。3d
2.判斷一個鍵是否存在(exists key)code
使用語法以下:exists keyblog
若是該鍵存在則返回整數類型1,不然返回0,以下所示:索引
3.刪除鍵rem
能夠刪除一個或多個鍵,返回值是刪除的鍵的個數,以下基本語法:字符串
redis> del key
以下所示:
如上第二次執行del命令是,由於key鍵已經被第一次刪除了,所以返回0.
4.獲取鍵值的數據類型
基本語法以下:
type key
type命令用來獲取鍵值的數據類型,返回值多是string, hash(散列類型),list(列表類型),set(集合類型),zset(有序集合類型)。好比以下代碼:
5 遞增數字(incr)
使用命令以下:incr num
以下所示:
字符串類型能夠存儲任何形式的字符串。當存儲的字符串是整數形式時,Redis提供了一個使用的命令 incr, 它的做用是讓當前的鍵值遞增,而且返回遞增後的值。可是當鍵值不是整數時Redis會提示錯誤;以下所示:
咱們可使用該語法來實現文章訪問量或點擊量的統計功能。每次訪問文章的時候咱們可使用incr命令使相應的鍵值遞增便可。
6.增長指定的整數 (INCRBY)
使用命令以下:INCRBY key increment
用法以下:
7.減小指定的整數 (DECRBY)
DECR key 和 DECRBY key decrement
DECR命令和INCR命令相同,是讓鍵值遞減。好比以下:
DECRBY命令的做用是遞減多少,好比 DECRBY key 5 就至關於 INCRBY key - 5; 以下所示:
8.增長指定的浮點數(INCRBYFLOAT)
基本語法以下:INCRBYFLOAT key increment
9.向尾部追加值(APPEND)
基本語法:APPEND key value
APPEND的做用是向鍵值的末尾追加value。若是該鍵不存在則將該鍵的值設置爲value,也就是至關於 SET key value. 返回值是追加後字符串的總長度,好比以下所示:
10.獲取字符串的長度(STRLEN)
基本語法以下:STRLEN key
STRLEN 命令返回鍵值的長度,若是該鍵不存在的話則返回0,好比以下:
字符串類型能夠存儲2進制數據的,所以字符串能夠存儲任何編碼的字符串。若是Redis接收到的是使用UTF-8編碼的中文的話,那麼一箇中文的長度是3,所以 "我是空智" 的長度就是12了。
11.同時得到/設置多個鍵值 (MSET)
使用基本語法以下:MSET key value [key value ....]
好比以下所示:
獲取多個值固然就是 MGET 了。
12.位操做
咱們都知道一個字節是由8個二進制位組成的。Redis提供了4個命令能夠直接對二進制位進行操做。
1. GETBIT key offset
該命令是能夠得到一個字符串類型鍵指定位置的二進制位的值(0或1)。它的索引值是從0開始的。
好比我設置 key 值爲 'bar';
127.0.0.1:6379> set key bar
OK
bar 的3個字母 'b', 'a', 'r'對應的ASCII碼分別爲9八、97和114. 那麼轉換成二進制就變成了 011000十、0110000一、和 01110010 這樣的。
以下圖所示演示:
如上圖 GETBIT key 0; 值就是 二進制中的第一位,所以值就是0. GETBIT key 6 的值就是二進制中的第七位,因此爲1(由於索引值是從0開始的)。
可是若是須要獲取的二進制位的索引值超過了鍵值的二進制位的實際長度,那麼它的默認值就是0了,以下圖所示:
2. SETBIT key offset value
SETBIT命令能夠設置字符串類型鍵指定位置的二進制位的值,返回值是該位置的原來的值。好比我如今將key設置爲字符串 "bar", 那麼它的ASCII編碼就是 98 97 114了,那麼對應的二進制就是:011000十、0110000一、01110010 這樣的。
而後咱們如今使用位操做符將它的索引第6位設置爲0,第七位設置爲1. 以下所示:
如上咱們將它的第六位設置爲0,它返回了1,由於6是原來值的第七位(索引值從0開始的)。而後把它的第七位設置1,索引在二進制爲上它就是第八位。所以返回0. 最後它的值就是 011000001 、01100000一、01110010 這樣的. 所以ASCII編碼就是 99,97,114 這樣的了,所以使用 get key 獲取到的字符串就是 aar了。
3. BITCOUNT key [start] [end]
該命令做用是能夠得到字符串類型鍵中值是1的二進制位個數。好比以下:
如上bar的二進制是:011000十、0110000一、01110010 這樣的。所以使用 BITCOUNT key; 返回的是字符串類型鍵值是1的二進制爲個數就是10了。
咱們能夠經過參數來限制統計的字節範圍,好比咱們但願統計前兩個字節,以下命令:
redit> BITCOUNT bar 0 1
如上 是從0開始,1結束的字節,也就是 011000十、01100001 這個中的多少個1,所以返回6.
4. BITOP operation destkey key [key ...]
BITOP命令能夠對多個字符串類型鍵進行位運算、而且會將結果存儲到destkey參數指定的鍵中。BITOP命令支持運算操做有AND、OR、XOR、和 NOT. 咱們下面對 bar 和 aar 進行 OR運算。以下代碼:
如上分析:bar 的ASCII編碼是 9八、9七、114 所以二進制位就是:011000十、0110000一、01110010, 而 aar 的二進制位就是0110000一、0110000一、01110010。 所以 他們進行 OR 運算就變成了 01100011 01100001 01110010. 所以他們的ASCII編碼就是 9九、9七、114 也就是字符串 car 了。