1)直接連線
import redis
red = redis.redis(host=
'localhost'
,port=
6379
,db=
1)
2)連線池連線
連線池的原理是, 通過預先建立多個連線, 當進行redis操作時, 直接獲取已經建立的連線進行操作, 而且操作完成後, 不會釋放, 用於後續的其他redis操作,這樣就達到了避免頻繁的redis連線建立和釋放的目的, 從而提高效能。redis模組採用connectionpool來管理對redis server的所有連線。
import redis
pool = redis.connectionpool(host=
'localhost'
, port=
6379
,db=1)
red = redis.redis(connection_pool=pool)
red.
set(
'key1'
,'value1'
)red.
set(
'key2'
,'value2'
)
set(self, name, value, ex=none, px=none, nx=false, xx=false)
#在redis中設定值,預設不存在則建立,存在則修改
red.
set(
'key'
,'value'
)#引數:
# set(name, value, ex=none, px=none, nx=false, xx=false)
# ex,過期時間(秒)
# px,過期時間(毫秒)
# nx,如果設定為true,則只有key不存在時,當前set操作才執行,同#setnx(key, value)
# xx,如果設定為true,則只有key存在時,當前set操作才執行
setex(self, name, value, time)
#設定過期時間(秒)
psetex(self, name, time_ms, value)
#設定過期時間(豪秒)
mset(self, *args, **kwargs)
#批量設定值
red.mget(
)
get(self, name)
#獲取某個key的值
red.get(
'key1'
)
mget(self, keys, *args)
#批量獲取
red.mget(
"key1"
,"key1"
)
strlen(self, name)
#返回key對應值的位元組長度(乙個漢字3個位元組)
red.strlen(
"key"
)
#在name對應的值後面追加內容
red.
set(
"key"
,"value"
)print
(r.get(
"key"))
#輸出:'value'
"key"
,"one"
)print
(r.get(
"key"))
#輸出:'valueone'
hset(self, name, key, value)
#name對應的hash中設定乙個鍵值對(不存在,則建立,否則,修改)
red.hset(
"name"
,"key"
,"value"
)
hget(self, name, key)
red.hset(
"name"
,"key"
,"value"
)#在name對應的hash中根據key獲取value
print
(red.hget(
"name"
,"key"))
#輸出:'value'
hgetall(self, name)
#獲取name所有鍵值對
red.hgetall(
"name"
)
dic=
red.hmset(
"name"
,dic)
(red.hget(
"name"
,"key2"))
#輸出:bb
hmget(self, name, keys, *args)
#在name對應的hash中批量獲取鍵所對應的值
dic=
red.hmset(
"name"
,dic)
print
(red.hmget(
"name"
,"key1"
,"key2"))
#輸出:['aa', 'bb']
hlen(self, name)
#獲取hash鍵值對的個數
print
(red.hlen(
"name"))
#輸出:2
hkeys(self, name)
#獲取hash中所有key
red.hkeys(
"name"
)
hvals(self, name)
#獲取hash中所有value
red.hvals(
"name"
)
hexists(self, name, key)
#檢查name對應的hash是否存在當前傳入的key
print
(red.hexists(
"name"
,"key1"))
#輸出:ture
hdel(self, name, *keys)
#刪除指定name對應的key所在的鍵值對,刪除成功返回1,失敗返回0
print
(red.hdel(
"name"
,"key1"))
#輸出:1
hincrby(self, name, key, amount=1)
#與hash中key對應的值相加,不存在則建立key=amount(amount為整數)
print
(red.hincrby(
"name"
,"key"
,amount=10)
)#返回:10
lpush(self, name, *values)
#元素從list的左邊新增,可以新增多個
red.lpush(
'name'
,'元素1'
,'元素2'
)
rpush(self, name, *values)
#元素從list右邊新增,可以新增多個
red.rpush(
'name'
,'元素1'
,'元素2'
)
python redis用法詳解
使用python來操作redis用法詳解 1 redis連線 redis提供兩個類redis和strictredis用於實現redis的命令,strictredis用於實現大部分官方的命令,並使用官方的語法和命令,redis是strictredis的子類,用於向後相容舊版本的redis py。red...
python redis詳解 二 key管理
redis 鍵 key redis 鍵命令用於管理 redis 的鍵 python redis提供的方法與命令列基本一致,具體的函式及含義可以參考給定的命令列來使用,對應的函式名稱與命令名稱基本一致 命令首先了解官方的命令,具體如下 1del key該命令用於在 key 存在是刪除 key。2dum...
Python Redis環境搭建
systemctl stop redis 停止服務 systemctl restart redis 重啟服務 systemctl enable redissystemctl start firewalld firewall cmd zone public add port 80 tcp perman...