技術分享 Redis(2)

2021-08-20 22:55:04 字數 1751 閱讀 3305

import redis

# 如果沒有設定密碼,怎不需要輸入password

con = redis.redis(host='localhost', port=6379, db=0, password='321')

"""(1)---鍵值對操作"""

# 設定鍵值

# 無則新增

con.set(name='myname', value='dahei', ex=10, nx=true)

# 有則修改

con.set(name='myname', value='dahei', ex=10, xx=true)

# 獲取鍵值

con.get(name='myname')

# 查詢過期時間

con.ttl(name='myname')

# 設定指定到期時間戳

con.expireat(name='myname', when=1530000000)

"""(2)---listc操作"""

# 單值push

con.rpush('mylist', 1)

con.lpush('mylist', 'haha')

# 多值push

con.rpush('mylist', [2, 3, 4, 5, 6])

# 值獲取

con.lpop('mylist')

# 阻塞獲取,阻塞3秒

con.blpop('mylist', 3)

# 查詢區間值

con.lrange('mylist', 0, 100)

# 切片和刪除

con.ltrim('mylist', 3, 10)

"""(3)---字典操作"""

# 設定鍵值

con.hset('mydict', 'name', 'dahei')

# 批量設定鍵值

con.hmset('mydict', )

# 刪除鍵值

con.hdel('mydict', 'name')

# 獲取所有鍵值對

con.hgetall('mydict')

# 自增

con.hincrby('mydict', 'age', 2)

以上是redis一些主要操作,其他相關操作請參閱:

接下來介紹一些比較pythonic的redis接受訂閱的方法:

首先,在redis裡,發布訂閱

server:publish channel(發布訊息的頻道) message(發布的訊息)

client:subscribe channel(接收訊息的頻道)message(接收的訊息)

# 建立redis例項物件

con = redis.redis(host='localhost', port=6379,db=0, password='321')

# 建立監聽物件

listener = con.pubsub()

# 監聽頻道

listen.subscribe('channelname')

while 1:

for i in listener.listen():

# message到來時,type會有message

if i['type'] == 'message':

# redis裡面的資料基本都是bytes

msg=i['data'].decode('utf8')

print('msg')

關於springboot連線redis 2

1 配置引用 配置了資料庫的引用,分頁外掛程式的引用,以及redis的引用 配置redis org.springframework.boot groupid spring boot starter data redis artifactid dependency org.apache.commons...

redis2 分布式鎖

尚矽谷 陽哥 加鎖 stringredistemplate.opsforvalue setifabsent redis lock key,value setnx 釋放鎖 stringredistemplate.delete redis lock key 釋放鎖 stringredistemplate...

技術分享丨華為鯤鵬架構Redis知識二三事

摘要 華為雲鯤鵬redis,業界首個基於自研arm based全棧整合的redis雲服務,支援雙機熱備的ha架構,提供單機 主備 proxy集群 cluster集群例項型別,滿足高讀寫效能場景及彈性變配的業務需求。分布式快取單機例項支援讀寫高併發,但不做持久化 例項重啟時儲存原有資料 快取服務系統策...