redis對鍵進行的相關操做

redis對鍵操做的相關命令以及如何在python使用這些命令

redis對鍵操做的命令:

命令html

語法python

概述redis

返回值數據庫

Redis DEL 命令dom

del key [key ...]spa

該命令用於在 key 存在時刪除 key。.net

返回被刪除鍵的數量unix

Redis Dump 命令code

dump key_namehtm

序列化給定 key ,並返回被序列化的值。

返回序列化後的值

Redis EXISTS 命令

exists key [key ...] 

檢查給定 key 是否存在

若 key 存在返回 1 ,不然返回 0 。

Redis Expire 命令

expire key seconds 

爲給定 key 設置過時時間,以秒計。

設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時返回0

Redis Expireat 命令

expireat key timestamp

爲給定 key 設置過時時間,UNIX 時間戳(unix timestamp)。

設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時返回 0 。

Redis PEXPIREAT 命令

pexpire key milliseconds

設置 key 的過時時間以毫秒計

設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時返回 0 。

Redis PEXPIREAT 命令

pexpireat key milliseconds-timestamp

設置 key 過時時間的時間戳(unix timestamp) 以毫秒計

設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時返回 0 。

Redis Keys 命令

keys pattern

查找全部符合給定模式( pattern)的 key 。

返回符合給定模式的 key 

Redis Move 命令

move key db

將當前數據庫的 key 移動到給定的數據庫 db 當中

移動成功返回 1 ,失敗則返回 0 

Redis PERSIST 命令

persist key

移除 key 的過時時間,key 將持久保持

當過時時間移除成功時,返回 1 。

若是 key 不存在或 key 沒有設間,返回 0 

Redis Pttl 命令

pttl key

以毫秒爲單位返回 key 的剩餘的過時時間。

     當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩餘生存時

  間時,返回 -1 。 不然,以毫秒爲單位,返回 key 的剩餘生存時間。

Redis TTL 命令

ttl key

以秒爲單位,返回給定 key 的剩餘生存時間(TTL, time to live)

當數據庫不爲空時,返回一個 key 。 當數據庫爲空時,返回 nil 

Redis RANDOMKEY 命令

randomkey

從當前數據庫中隨機返回一個 key 。

更名成功時提示 OK ,失敗時候返回一個錯誤。
當 OLD_KEY_NAME 不存在時,返回一個錯誤。 當 NEW_KEY_NAME 已經存在時, RENAME 命令將覆蓋舊值。

Redis Rename 命令

rename key newkey

修改 key 的名稱

更名成功時提示 OK ,失敗時候返回一個錯誤.
當 OLD_KEY_NAME 不存在時,返回一個錯誤。 當 NEW_KEY_NAME 已經存在時, RENAME 命令將覆蓋舊值。

Redis Renamenx 命令

renamenx key newkey

僅當 newkey 不存在時,將 key 更名爲 newkey 。

修改爲功時,返回 1 。 若是 NEW_KEY_NAME 已經存在,返回 0  當OLD_KEY_NAME 不存在時,返回錯誤ERR no such key

Redis Type 命令

type key

返回 key 所儲存的值的類型

返回 key 所儲存的值的類型。none (key不存在)  string (字符串)  list (列表)  set (集合)  zset (有序集)  hash (哈希表)

 

在python中對鍵操做:

# -*- coding: utf-8 -*-

import redis

# 鏈接本地的redis

r = redis.Redis(host="127.0.0.1",port=6379)

 

1. delete DEL 命令用於刪除已存在的鍵。不存在的 key 會被忽略

print(r.set('1', 'hello redis')) # set 設置指定 key 的值, 若是設置正確返回 True

print(r.get('1'))# 獲得 鍵爲1 的值    #  hello redis
print(r.delete('1')) # 刪除 鍵爲1 的值 

print(r.get('1')) # 由於上面已經把鍵爲1 的值刪除掉,因此返回的是None

  

2. exists

# 設定鍵爲2的值是  hello redis
r.set('2', 'hello redis')
# 存在就返回True 不存在就返回False
print(r.exists('2'))  # 返回True
print(r.exists('33'))  # 返回False

 

3. Expire 命令用於設置 key 的過時時間。key 過時後將再也不可用。

r.set('2', 'hello redis')
# 成功就返回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', 'hello redis')
# 成功就返回True 失敗就返回False,下面的1598033936表示時間戳
print(r.expireat('2',1598026546))
print(r.get('2'))

 

5.PEXPIREAT 命令用於設置 key 的過時時間,已毫秒技。key 過時後將再也不可用。主意:時間精確到毫秒,時間戳是13位數字

r.set('2', 'hello redis')
#成功就返回True 失敗就返回False。
print(r.expireat('2',1598666972100))
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
相關文章
相關標籤/搜索