一、hash,业务场景是用于查询数据,具体操作如下:

  1、查看redis中某个hash的所有数据:hgetall baiyibutie(key);

  2、查看redis中某个hash的数据量:hlen baiyibutie(key);

  3、redis写入hash数据:1) conn.hmset("baiyibutie", {"key": "123456", "value": "写入hash数据"},{"key2": "123456", "value": "写入hash数据"}.....) #hmst用于插入多条数据,是这种写法,hset用于插入单条数据,下面那种写法;

             2) conn.hset("baiyibutie", "123456", "写入第二种hash数据") #key field value(key对应"baiyibutie",field对应"123456",value对应"写入第二种hash数据");

  4、查询数据:hget baiyibutie(key) 123456(field)   (key对应"baiyibutie",field对应"123456",value对应"写入第二种hash数据"),程序里面的写法:client.hget('baiyibutie', 'name');

  5、可以用于检测数据库里面是否有原始数据,并插入数据或者更新数据,例如:hset key field value,把key和field绑定成一组数据,如果返回的结果为1表示插入数据成功或者更新数据成功,如果返回为0则表示数据库里面已经有重复数据了。hset tt_tt aaa b,hset tt_tt bbb b(这时会返回1,表示更新数据了),hset tt_tt bbb a(这时会返回0,因为key和field没有变,则没有更新数据也没有插入数据。value在检测更新数据里面没有用处,随便填一个即可)

二、list,业务场景是用于队列,例如从左侧插入数据(lpush),从右侧取数据(rpop),具体操作如下:

  1、左侧插入数据:lpush key data,右侧插入数据rpush key data;(可以用该命令创建list)

  2、左侧取一个数据并从redis中删除该数据:lpop key,右侧取一个数据并从redis中删除该数据:rpop key;

  3、取出数据,但是保留数据:lrange key 0 0,后面的两个数字指的是list的下标,可以是多个值,例如,lrange key 0 -1,表示取出所有值;

  4、批量插入数据

  import redis

  r = redis.Redis(host=xxx.xxx.xxx.xxx, port=xxx,password=xxx, db=0)

  with r.pipeline(transaction=False) as p:
  for value in values:
    p.sadd(key, value)
    p.lpush(key,value)
  p.execute()

三、set,无序集合,业务场景是判断之前是否有这个数据,具体操作如下:

  1、插入数据:sadd key data;(也用于创建数据库,第一次写数据时)

  2、通过返回值来判断该数据库里面是否存在该数据:如果插入数据后返回值为"1",那么表示该数据库里面没有该数据,插入成功;如果插入数据后返回值为"0",那么表示数据库里面有该数据,插入失败。可以用这个功能判断该数据库里面有没有该数据;

  3、查看数据量:scard key

  

result = redis_client.sadd("coupon_access", coupon_access)
    if int(result) == 1:
        return True
    else:
        return False

  

  

相关文章:

  • 2019-06-25
  • 2021-11-30
  • 2021-10-01
  • 2021-08-07
  • 2021-04-03
  • 2021-09-25
猜你喜欢
  • 2021-05-10
  • 2021-06-29
  • 2021-08-17
相关资源
相似解决方案