python redis詳解 二 key管理

2021-09-25 05:59:45 字數 3491 閱讀 1178

redis 鍵(key)

redis 鍵命令用於管理 redis 的鍵

python redis提供的方法與命令列基本一致, 具體的函式及含義可以參考給定的命令列來使用, 對應的函式名稱與命令名稱基本一致

命令首先了解官方的命令, 具體如下:

1del key該命令用於在 key 存在是刪除 key。

2dump key序列化給定 key ,並返回被序列化的值。print出來基本就是亂碼

3exists key檢查給定 key 是否存在。

4expire key seconds為給定 key 設定過期時間。

5expireat key timestamp作用和 expire 類似,都用於為 key 設定過期時間。 不同在於 expireat 命令接受的時間引數是 unix 時間戳(unix timestamp)。

6pexpire key milliseconds設定 key 的過期時間億以毫秒計。

7pexpireat key milliseconds-timestamp設定 key 過期時間的時間戳(unix timestamp) 以毫秒計

8keys pattern查詢所有符合給定模式( pattern)的 key 。

9move key db將當前資料庫的 key 移動到給定的資料庫 db 當中。

10persist key移除 key 的過期時間,key 將持久保持。

11pttl key以毫秒為單位返回 key 的剩餘的過期時間。

12ttl key以秒為單位,返回給定 key 的剩餘生存時間(ttl, time to live)。

13randomkey從當前資料庫中隨機返回乙個 key 。

14rename key newkey修改 key 的名稱

15renamenx key newkey僅當 newkey 不存在時,將 key 改名為 newkey 。

16type key返回 key 所儲存的值的型別。

python-redis

python操作redis key 可以參考命令

如下為一些函式的定義

1.delete(*names)

根據刪除redis中的任意資料型別

print rediscli.delete("me1", "hms2")
2.exists(name)

檢測redis的name是否存在

3.keys(pattern=』』)

獲取值, pattern為正則匹配規則

更多:keys * 匹配資料庫中所有 key 。

keys h?llo 匹配 hello , hallo 和 hxllo 等。

keys hllo 匹配 hllo 和 heeeeello 等。

keys h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo

print rediscli.keys()

print rediscli.keys(pattern="hms*")

輸出:['hms1', 'hms2', 'hms3']

4.expire(name ,time)

為某個redis的某個name設定超時時間

print rediscli.expire("sv5", 900)
5.rename(src, dst)

對redis的name重新命名為

6.move(name, db)

將redis的某個值移動到指定的db下

7.randomkey()

隨機獲取乙個redis的name(不刪除)

8.type(name)

獲取name對應值的型別

print rediscli.keys(pattern="pm1")
9.scan(cursor=0, match=none, count=none)

10.ttl(name)

print rediscli.ttl("sv5")
示例程式:

# coding:utf-8

import redis

import time

rediscli = redis.redis(host='127.0.0.1', port=6379, db=13)

print rediscli.keys(pattern="*")

print rediscli.keys(pattern="hms*")

print rediscli.dump("hms1")

print rediscli.exists('hn2')

print rediscli.expire("sv5", 900)

time.sleep(2)

print rediscli.ttl("sv5")

print rediscli.persist('sv5')

print rediscli.ttl("sv5")

print rediscli.type("me2")

print rediscli.keys(pattern="pm1")

print rediscli.rename('pm1', "pm1_new")

print rediscli.keys(pattern="pm1")

print rediscli.delete("me1", "hms2")

print rediscli.keys(pattern="*")

print rediscli.randomkey()

輸出:

['sv2', 'sme3', 'me1', 'sv5', 'hms1', 'pm1', 'sv3', 'me3', 'pm2', 'hms2', 'sv4', 'me2', 'hms3', 'sme2']

['hms1', 'hms2', 'hms3']

x1tr1� ~4�>&�

0true

898true

-1zset

['pm1']

true

2['sv2', 'sme3', 'sv5', 'pm1_new', 'hms1', 'sv3', 'me3', 'pm2', 'sv4', 'me2', 'hms3', 'sme2']

hms3

python redis用法詳解

使用python來操作redis用法詳解 1 redis連線 redis提供兩個類redis和strictredis用於實現redis的命令,strictredis用於實現大部分官方的命令,並使用官方的語法和命令,redis是strictredis的子類,用於向後相容舊版本的redis py。red...

python redis模組詳解

1 直接連線 import redis red redis.redis host localhost port 6379 db 1 2 連線池連線 連線池的原理是,通過預先建立多個連線,當進行redis操作時,直接獲取已經建立的連線進行操作,而且操作完成後,不會釋放,用於後續的其他redis操作,這...

k交叉驗證詳解

重點放在前面 n折交叉驗證有兩個用途 模型評估 模型選擇。n折交叉只是一種劃分資料集的策略。想知道它的優勢,可以拿它和傳統劃分資料集的方式進行比較。它可以避免固定劃分資料集的侷限性 特殊性,這個優勢在小規模資料集上更明顯。把這種策略用於劃分訓練集和測試集,就可以進行模型評估 把這種策略用於劃分訓練集...