一、redis連線
redis提供兩個類redis和strictredis用於實現redis的命令,strictredis用於實現大部分官方的命令,並使用官方的語法和命令,redis是strictredis的子類,用於向後相容舊版本的redis-py。
redis連線例項是執行緒安全的,可以直接將redis連線例項設定為乙個全域性變數,直接使用。如果需要另乙個redis例項(or redis資料庫)時,就需要重新建立redis連線例項來獲取乙個新的連線。
安裝redis
pip install redis
連線redis,加上decode_responses=true,寫入的鍵值對中的value為str型別,不加這個引數寫入的則為位元組型別。
二、連線池連線
redis-py使用connection pool來管理對乙個redis server的所有連線,避免每次建立、釋放連線的開銷。預設,每個redis例項都會維護乙個自己的連線池。可以直接建立乙個連線池,然後作為引數redis,這樣就可以實現多個redis例項共享乙個連線池
連線池:redis_pool.py
import redis
from redis_pool import pool
conn = redis.redis(connection_pool=pool)
conn.
set(
'name'
,'linwow'
)print
(conn.get(
'name'
))
三、redis-py 操作redis
python操作redis的命令和命令列幾乎一致,除了del,因為和關鍵字重疊,所以用delete
1、字串型別操作:
set----鍵key
con.set(『key』,『values』)
get—獲取數值
con.get(『com』)
delete—刪除
con.delete(『keys』)
2、list型別:
rpush 、lpush----新增資料
con.rpush(『keys』,『values』)
con.lpush(『keys』,『values』)
lrange—檢視資料
con.lrange(『list』,0,11)
lset—修改資料
con.lset(『list_f』,1,『fyn』)—返回布林值
rpop ---- 隨機刪除乙個資料
con.rpop(『keys』)
lrem ---- 指定刪除乙個資料時
con.lrem(『list_f』,0,『okl』)
3、hash型別
hmget — 新增多條資料,也可插入單條資料
以字典的形式插入
con.hmste(『keys』,)#插入結果返回布林值
hget , hgetall , hvals,hkeys檢視資料
con.hget(『ok』,『name』)
con.hgetall(『ok』)#結果返回字典
con.hvals(『ok』)#獲取所有的鍵值
con.hkeys(『ok』)#獲取所有的鍵
hdel 、 del----刪除某個字段,刪除整個hash
con.hdel(『ok』,age)#指定刪除某個字段 ,成功的話返回1,否則返回0
con.del(『ok』)#刪除整個hash
4、set
sadd—新增資料
con.sadd(『mk』,『oi』.『hwelo』)
smembers ---- 檢視所有資料
con.smembers(『mk』)
spop—隨機刪除乙個元素
con.spop(『con.spop(『mk』)』)
srem— 指定刪除某個元素
con.srem(『mk』,『oi』)
5、sorted set
zadd—新增資料
con.zadd(『set_f』,)
zrange ---- 查詢資料
con.zrange(『set_f』,0,11)
zrem —指定刪除某個元素
con.zrem(『set_f』,『age』)
四、redis-py管道操作 piplines
管道是redis的子類,它支援在乙個請求中款衝多個命令到伺服器
管道使redis的讀寫速度更加的快速。秒級取值1000+的資料。
並且使用pipline實現一次請求指定多個命令,並且預設情況下一次pipline 是原子性操作。
'''
'''#1、建立乙個管道
pipe = con.pipeline(
)#緩衝多個命令
pipe.keys(
'*')
pipe.
set(
'name'
,'mkl'
)#執行命令
res = pipe.execute(
)#返回列表
print
(res[0]
)print
(res[1]
)
管道的命令可以寫在一起,如:
pipe.
set(
'hello'
,'redis'
).sadd(
'faz'
,'baz'
).incr(
'num'
).execute(
)print
(r.get(
"name"))
print
(r.get(
"role"))
print
(r.get(
"num"
))
1 9 使用python來操作redis
1 redis連線 redis連線例項是執行緒安全的,可以直接將redis連線例項設定為乙個全域性變數,直接使用。安裝 pip install redis import redis r redis.redis host licalhost port 6379 decode responses tru...
使用Python操作Redis資料庫
使用python操作redis,需要先安裝redis模組,請使用以下命令安裝 pip3 install redis或python3 m pip install redis redis庫提供了兩個類redis和strictredis來實現redis的命令操作。strictredis用於實現大部分官方的...
Redis 使用C 程式操作Redis
一 安裝操作所需nuget包 二 寫入 redis只是按key值設定過期時間,不是對value內部的某些值設過期 2.1 string型別 向redis寫入 鍵值 值 過期日期 public static void setstring string key,string value,datetime...