# -*- coding: utf-8 -*- import redis #這個redis不能用,請根據自己的需要修改 r =redis.Redis(host="123.516.74.190",port=6379,password="6666666666")
1.SET 命令用於設置給定 key 的值。如果 key 已經存儲其他值, SET 就覆寫舊值,且無視類型。
print r.set('123','123') # 插入成功后返回True print r.set('123','[123,dffd]') # 插入成功后返回True
2. Get 命令用於獲取指定 key 的值。如果 key 不存在,返回 None 。如果key 儲存的值不是字符串類型,返回一個錯誤。
print r.get('123') #返回的結果是[123,dffd] print r.get('1234')#返回的結果是 None
3. Getrange 命令用於獲取存儲在指定 key 中字符串的子字符串。字符串的截取范圍由 start 和 end 兩個偏移量決定(包括 start 和 end 在內)。
print r.set('getrange','wo shi hao ren ') print r.getrange('getrange',2,4) #返回的結果是sh print r.getrange('getrange',2,6) #返回的結果是shi print r.getrange('getrange',2,10) #返回的結果是shi hao
4.Getset 命令用於設置指定 key 的值,並返回 key 舊的值,當 key 存在但不是字符串類型時,返回一個錯誤。
print r.getset('getrange','hello word') #返回的結果是wo shi hao ren print r.getset('getrange11','hello word') #當鍵不存在的時候,返回的結果是None
5.Getbit 命令用於對 key 所儲存的字符串值,獲取指定偏移量上的位(bit)字符串值指定偏移量上的位(bit)。當偏移量 getrange 比字符串值的長度大,或者 key 不存在時,返回 0。
print r.get('getrange') #返回的結果是 hello word print r.getbit('getrange',1) #返回的結果是 1 print r.getbit('getrange',3) #返回的結果是 0 print r.getbit('getr22222ange',3) #字符串的鍵不存在的時候返回的結果是 0 print r.getbit('getrange',300) #偏移量超過字符串長度,返回的結果是 0
6.Mget 命令返回所有(一個或多個)給定 key 的值。 如果給定的 key 里面,有某個 key 不存在,那么這個 key 返回特殊值 None
print r.set('1','1') #返回的結果是 True print r.set('11','11') #返回的結果是 True print r.set('111','111') #返回的結果是 True print r.mget('1','11','111') #返回的結果是 ['1', '11', '111'] print r.mget('1','11','222222') #因為鍵222222不存在,返回的結果是 ['1', '11', None]
7. Setbit 命令用於對 key 所儲存的字符串值,設置或清除指定偏移量上的位(bit)。
print r.get('getrange') #返回的結果是 hello word print r.setbit('getrange',4,10086) #返回的結果是 1 print r.getbit('getrange',10086) #返回的結果是 0 print r.setbit('getrange',5,100861) #返回的結果是 0 print r.getbit('getrange',100861) #返回的結果是 0
8.Setex 命令為指定的 key 設置值及其過期時間。如果 key 已經存在, SETEX 命令將會替換舊的值。
print r.setex('1','123',10) #返回的結果是 True import time time.sleep(5) print r.ttl('1') #返回的結果是 4 print r.get('1') #返回的結果是 123 time.sleep(6) print r.get('1') #返回的結果是 None
9.Setnx(SET if Not eXists) 命令在指定的 key 不存在時,為 key 設置指定的值。設置成功,返回 1 。 設置失敗,返回 0 。
print r.exists('22') #返回的結果是 False print r.setnx('22','2222222') #返回的結果是 True print r.setnx('22','123456') #返回的結果是 False print r.get('22') #返回的結果是 2222222
10. Setrange 命令用指定的字符串覆蓋給定 key 所儲存的字符串值,覆蓋的位置從偏移量 offset 開始。
print r.set('11','hello world') #返回的結果是 True print r.setrange('11',6,"redis") #返回的結果是 11 print r.get('11') #返回的結果是 hello redis
11. Strlen 命令用於獲取指定 key 所儲存的字符串值的長度。當 key 儲存的不是字符串值時,返回一個錯誤。
print r.get('11') #返回的結果是 hello redis print r.strlen('11') #返回的結果是 11 print r.strlen('121') # 當key不存在的時候,返回的結果是 0
12.Mset 命令用於同時設置一個或多個 key-value 對。
#第一種方法 print r.mset(name1="1", name2='2') #返回的結果是 True #第二種方法 print r.mset({"name3":'3', "name4":'4'}) #返回的結果是 True print r.get('name1') #返回的結果是 1 print r.get('name2') #返回的結果是 2 print r.get('name3') #返回的結果是 3 print r.get('name4') #返回的結果是 4
13. Msetnx 命令用於所有給定 key 都不存在時,同時設置一個或多個 key-value 對。
當所有 key 都成功設置,返回 1 。 如果所有給定 key 都設置失敗(至少有一個 key 已經存在),那么返回 0 。
print r.msetnx(name5="5", name6='6') #返回的結果是 True print r.msetnx(name5="55", name7='7') #返回的結果是 False print r.get('name5') #返回的結果是 5 print r.get('name6') #返回的結果是 6 print r.get('name7') #返回的結果是 None
14. Psetex 命令以毫秒為單位設置 key 的生存時間。主意:SETEX 命令那樣,以秒為單位。
print r.psetex('name8',1000,"nihao") #返回的結果是 True print r.pttl('name8') #返回的結果是 690 print r.get('name8') #返回的結果是 nihao 時間過期后返回的是 None
15.Incr 命令將 key 中儲存的數字值增一
如果 key 不存在,那么 key 的值會先被初始化為 0 ,然后再執行 INCR 操作。
如果值包含錯誤的類型,或字符串類型的值不能表示為數字,那么返回一個錯誤。
本操作的值限制在 64 位(bit)有符號數字表示之內。
print r.set('11',20) #返回的結果是 True print r.incr('11') #返回的結果是 21 print r.get('11') #返回的結果是 21 print r.incr('11',amount=2) #返回的結果是 23 print r.get('11') #返回的結果是 23 print r.incr('21',amount=2) #返回的結果是 2 print r.incr('22') #返回的結果是 1
16.Redis Incrby 命令將 key 中儲存的數字加上指定的增量值。
如果 key 不存在,那么 key 的值會先被初始化為 0 ,然后再執行 INCRBY 命令。
如果值包含錯誤的類型,或字符串類型的值不能表示為數字,那么返回一個錯誤。
print r.set("13",13) #返回的結果是 True print r.incrby('13',12) #返回的結果是 25 print r.incrby('15',12) #返回的結果是 12 print r.incrby('15',12) #返回的結果是 24
17.Redis Incrbyfloat 命令為 key 中所儲存的值加上指定的浮點數增量值。
如果 key 不存在,那么 INCRBYFLOAT 會先將 key 的值設為 0 ,再執行加法操作。
print r.set('1',1.1) #返回的結果是 True print r.incrbyfloat('1',2.32) #返回的結果是 3.42 print r.get('1') #返回的結果是 3.42 print r.incrbyfloat('1',amount=1.2) #返回的結果是 4.62
18.Redis Decr 命令將 key 中儲存的數字值減一。
如果 key 不存在,那么 key 的值會先被初始化為 0 ,然后再執行 DECR 操作。
如果值包含錯誤的類型,或字符串類型的值不能表示為數字,那么返回一個錯誤。
本操作的值限制在 64 位(bit)有符號數字表示之內。
print r.decr('22') #如果 key 22 不存在,返回的結果是 -1 print r.set('bb',20) #返回的結果是 True print r.decr('bb',amount=2) #返回的結果是 18 print r.decr('cc') #返回的結果是 -1
19. Redis Append 命令用於為指定的 key 追加值。
如果 key 已經存在並且是一個字符串, APPEND 命令將 value 追加到 key 原來的值的末尾。
如果 key 不存在, APPEND 就簡單地將給定 key 設為 value ,就像執行 SET key value 一樣。
print r.set("11",12) #返回的結果是 True print r.append('11',12) #返回的結果是 4 print r.append('11',1) #返回的結果是 5 print r.append('11',2) #返回的結果是 6 print r.get('11') #返回的結果是 121212 print r.exists('14') #返回的結果是 False print r.append('14','hello world') #返回的結果是 11 print r.get('14') #返回的結果是 hello world
redis安裝和配置(一) http://www.cnblogs.com/xuchunlin/p/6676308.html
redis學習 (key)鍵,Python操作redis 鍵 (二) http://www.cnblogs.com/xuchunlin/p/7061524.html
Python操作redis字符串(String)詳解 (三) http://www.cnblogs.com/xuchunlin/p/7062065.html
Python操作redis系列以 哈希(Hash)命令詳解(四) http://www.cnblogs.com/xuchunlin/p/7064860.html
Python操作redis系列之 列表(list) (五) http://www.cnblogs.com/xuchunlin/p/7067154.html
Python操作redis學習系列之(集合)set,redis set詳解 (六)http://www.cnblogs.com/xuchunlin/p/7070267.html
python 操作redis之——有序集合(sorted set) (七) http://www.cnblogs.com/xuchunlin/p/7097272.html
python 操作redis之——HyperLogLog (八) http://www.cnblogs.com/xuchunlin/p/7097272.html
redis.windows.conf各項配置參數介紹 (九) http://www.cnblogs.com/xuchunlin/p/7097729.html
附錄:redis string 命令
命令 |
描述 |
設置指定 key 的值 |
|
獲取指定 key 的值。 |
|
返回 key 中字符串值的子字符 |
|
將給定 key 的值設為 value ,並返回 key 的舊值(old value)。 |
|
對 key 所儲存的字符串值,獲取指定偏移量上的位(bit)。 |
|
獲取所有(一個或多個)給定 key 的值。 |
|
對 key 所儲存的字符串值,設置或清除指定偏移量上的位(bit)。 |
|
將值 value 關聯到 key ,並將 key 的過期時間設為 seconds (以秒為單位)。 |
|
只有在 key 不存在時設置 key 的值。 |
|
用 value 參數覆寫給定 key 所儲存的字符串值,從偏移量 offset 開始。 |
|
返回 key 所儲存的字符串值的長度。 |
|
同時設置一個或多個 key-value 對。 |
|
同時設置一個或多個 key-value 對,當且僅當所有給定 key 都不存在。 |
|
這個命令和 SETEX 命令相似,但它以毫秒為單位設置 key 的生存時間,而不是像 SETEX 命令那樣,以秒為單位。 |
|
將 key 中儲存的數字值增一。 |
|
將 key 所儲存的值加上給定的增量值(increment) 。 |
|
將 key 所儲存的值加上給定的浮點增量值(increment) 。 |
|
將 key 中儲存的數字值減一。 |
|
key 所儲存的值減去給定的減量值(decrement) 。 |
|
如果 key 已經存在並且是一個字符串, APPEND 命令將 value 追加到 key 原來的值的末尾。 |