python中redis怎么判斷list為空


法一(不推薦!)

redis中創建的list如果為空,那么該list的key就不存在了,假如你的list的鍵叫key1,那么可以用

1 import redis
2 r = redis.Redis(host='127.0.0.1', port=6379)
3 if key1.encode() in r.keys():  #如果list存在
4   print('list不為空')
5 else:
6   print('list為空')

因為r.keys()獲取到的鍵值全是二進制的,所以判斷key1是否在全部鍵值里面的時候,需要先用encode()轉為二進制

上面這種方式顯然是不建議使用的,因為r.keys()會獲取當前這個數據庫中所有的鍵,然后去比較,十分耗費cpu資源,所以

法二:

1 import redis
2 r = redis.Redis(host='127.0.0.1', port=6379)
3 list1 = r.lrange('key1',0,-1)   # 0到-1表示 取所有元素
4 # 如果key1不存在的話, list1 = []
5 if len(list1) <= 0: 6     print('key1不存在!')
7 else:
8     print('key1存在!')

同理,判斷一個存儲string的key存不存在 判斷 是否等於None,

如:

1 str = r.get('key1')
2 if str is None: 3     print('key1不存在!')
4 else:
5     print('key1存在!')

 

 

其他的均可以用len()函數 取其長度,判斷是否為0!

set類型  a = r.smembers('key1')    if len(a) == 0 :  # 不存在  else: # 存在

zset類型  a = r.zrange('key1', 0, -1)   if len(a) == 0:     # 不存在  else: # 存在

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM