redis學習一 (key)鍵,Python操作redis 鍵
# -*- coding: utf-8 -*- import redis #這個redis 連接不能用,請根據自己的需要修改 r =redis.Redis(host="123.516.174.910",port=6379,password="11111608")
1. delete DEL 命令用於刪除已存在的鍵。不存在的 key 會被忽略
print r.set(‘1‘, ‘4028b2883d3f5a8b013d57228d760a93‘) #set 設置指定 key 的值, 如果設置正確返回 True print r.get(‘1‘) # 得到 鍵為1 的值 4028b2883d3f5a8b013d57228d760a93print r.delete(‘1‘) # 刪除 鍵為1 的值 print r.get(‘1‘) #因為上面已經把鍵為1 的值刪除掉,所以返回的是None
2. exists
#設定鍵為2的值是 4028b2883d3f5a8b013d57228d760a93 r.set(‘2‘, ‘4028b2883d3f5a8b013d57228d760a93‘) # 存在就返回True 不存在就返回False print r.exists(‘2‘) #返回True print r.exists(‘33‘) #返回False
3. Expire 命令用於設置 key 的過期時間。key 過期後將不再可用。
r.set(‘2‘, ‘4028b2883d3f5a8b013d57228d760a93‘) #成功就返回True 失敗就返回False,下面的20表示是20秒 print r.expire(‘2‘,20) #如果時間沒事失效我們能得到鍵為2的值,否者是None print r.get(‘2‘)
4. Expireat 命令用於以 UNIX 時間戳(unix timestamp)格式設置 key 的過期時間。key 過期後將不再可用。主意:時間精確到秒,時間戳是10為數字
r.set(‘2‘, ‘4028b2883d3f5a8b013d57228d760a93‘) #成功就返回True 失敗就返回False,下面的1598033936表示是在2020-08-22 02:18:56 鍵2 過期print r.expireat(‘2‘,1598033936) print r.get(‘2‘)
5.PEXPIREAT 命令用於設置 key 的過期時間,已毫秒技。key 過期後將不再可用。主意:時間精確到毫秒,時間戳是13位數字
r.set(‘2‘, ‘4028b2883d3f5a8b013d57228d760a93‘) #成功就返回True 失敗就返回False。 print r.expireat(‘2‘,1598033936000) print r.get(‘2‘)
6. Keys 命令用於查找所有符合給定模式 pattern 的 key 。
print r.set(‘111‘, ‘11‘) print r.set(‘122‘, ‘12‘) print r.set(‘113‘, ‘13‘) print r.keys(pattern=‘11*‘) # 輸出的結果是 [‘113‘, ‘111‘] 因為鍵122不和 11* 匹配
7. MOVE 命令用於將當前數據庫的 key 移動到給定的數據庫 db 當中,select可以設定當前的數據庫,如有需要請看select命令
因為我們默認使用的數據庫是db0,我們可以使用下面的命令鍵 2 移動到數據庫 1 中去
r.move(2,1)
8. PERSIST 命令用於移除給定 key 的過期時間,使得 key 永不過期
#設定鍵為 1 的值為11 print r.set(‘1‘, ‘11‘) #設定鍵 1 過期時間為100秒 print r.expire(1,100) # 查看鍵 1 的過期時間還剩下多少 print r.ttl(‘1‘) # 目的是13秒後移除鍵 1 的過期時間 import time time.sleep(3) # 查看鍵 1 的過期時間還剩下多少 print r.ttl(‘1‘) #移除鍵 1 的過期時間 r.persist(1) # 查看鍵 1 的過期時間還剩下多少 輸出的結果是 None,我們可以通過redis desktop manager 查看鍵 1 的過期時間 print r.ttl(‘1‘)
9. Pttl 命令以毫秒為單位返回 key 的剩余過期時間。
# 當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩余生存時間時,返回 -1 。 否則,以毫秒為單位,返回 key 的剩余生存時間。 #設定鍵為 1 的值為11 print r.set(‘1‘, ‘11‘) #設定鍵 1 過期時間為100秒 print r.expire(1,100) import time time.sleep(3) #返回的結果是 96994 ,運行的結果不是固定的,大於是97秒鐘,主意是為了展示出返回的結果是毫秒,一秒等於1000毫秒 print r.pttl(‘1‘)
10. TTL 命令以秒為單位返回 key 的剩余過期時間。
# 當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩余生存時間時,返回 -1 。 否則,以毫秒為單位,返回 key 的剩余生存時間。 #設定鍵為 1 的值為11 print r.set(‘1‘, ‘11‘) print r.expire(1,100) #設定鍵 1 過期時間為100秒 import time time.sleep(3) print r.ttl(‘1‘) #返回的結果是 97 print r.ttl(‘123‘) #因為鍵 123 不存在 所以返回的結果是None
11.RANDOMKEY 命令從當前數據庫中隨機返回一個 key。當數據庫不為空時,返回一個 key 。 當數據庫為空時,返回 nil 。
print r.randomkey() #數據庫返回的是默認的數據庫 key
12 .Rename 命令用於修改 key 的名稱 。改名成功時提示 OK ,失敗時候返回一個錯誤。
print r.rename(1,1111) #修改成功返回 True print r.rename(222,1111) #如果key 不存在 修改失敗返回 redis.exceptions.ResponseError: no such key
13. Renamenx 命令用於在新的 key 不存在時修改 key 的名稱 。
print r.exists(123123) #返回false print r.renamenx(1111,123123) #成功返回True print r.renamenx(1111,123123) #失敗返回 redis.exceptions.ResponseError: no such key
14. Type 命令用於返回 key 所儲存的值的類型
# 返回 key 的數據類型,數據類型有:none (key不存在),string (字符串),list (列表),set (集合),zset (有序集),hash (哈希表), print r.set(‘1‘,"111111111") print r.type(‘1‘) #返回的結果是string print r.sadd(‘2‘,‘222222222222‘) print r.type(‘2‘) #返回的結果是set print r.lpush(‘3‘,‘33333333‘) print r.type(‘3‘) #返回的結果是list
命令 |
描述 |
Redis DEL 命令 |
該命令用於在 key 存在是刪除 key。 |
Redis Dump 命令 |
序列化給定 key ,並返回被序列化的值。 |
Redis EXISTS 命令 |
檢查給定 key 是否存在。 |
Redis Expire 命令 |
seconds 為給定 key 設置過期時間。 |
Redis Expireat 命令 |
EXPIREAT 的作用和 EXPIRE 類似,都用於為 key 設置過期時間。不同在於 EXPIREAT 命令接受的時間參數是 UNIX 時間戳(unix timestamp)。 |
Redis PEXPIREAT 命令 |
設置 key 的過期時間億以毫秒計。 |
Redis PEXPIREAT 命令 |
設置 key 過期時間的時間戳(unix timestamp) 以毫秒計 |
Redis Keys 命令 |
查找所有符合給定模式( pattern)的 key 。 |
Redis Move 命令 |
將當前數據庫的 key 移動到給定的數據庫 db 當中。 |
Redis PERSIST 命令 |
移除 key 的過期時間,key 將持久保持。 |
Redis Pttl 命令 |
以毫秒為單位返回 key 的剩余的過期時間。 |
Redis TTL 命令 |
以秒為單位,返回給定 key 的剩余生存時間(TTL, time to live)。 |
Redis RANDOMKEY 命令 |
從當前數據庫中隨機返回一個 key 。 |
Redis Rename 命令 |
修改 key 的名稱 |
Redis Renamenx 命令 |
僅當 newkey 不存在時,將 key 改名為 newkey 。 |
Redis Type 命令 |
返回 key 所儲存的值的類型。 |
redis學習一 (key)鍵,Python操作redis 鍵