zoukankan      html  css  js  c++  java
  • redis的三种数据类型以及应用场景

    一、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');

    二、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,表示取出所有值;

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

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

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

      

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

      

      

  • 相关阅读:
    kali linux 2019.1 替换burpsuite pro 1.7.37
    java反序列化漏洞实战
    我是一个997程序员
    清晨小悟
    vue webpack配置Error
    USSD 杂记
    WingMoney APP逆向,实现自动话费充值
    保持空杯心态
    解决python在命令行中运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"
    【转】Mac find 去除 “Permission denied” 信息的方法
  • 原文地址:https://www.cnblogs.com/qiaoer1993/p/13851193.html
Copyright © 2011-2022 走看看