zoukankan      html  css  js  c++  java
  • 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: # 存在

  • 相关阅读:
    一点一点学写Makefile(3)-增加第三方库和头文件
    一点一点学写Makefile(2)-自动搜所当前目录下的所有源文件
    一点一点学写Makefile-1
    linux下使用libxml2实现对xml文件的读取及查询
    struts2 谷歌浏览器保存date类型数据时报错
    复习
    day31
    day30
    作业29
    day29
  • 原文地址:https://www.cnblogs.com/tianyee/p/13695162.html
Copyright © 2011-2022 走看看