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
    

      

      

  • 相关阅读:
    java线程池,工作窃取算法
    java线程池,阿里为什么不允许使用Executors?
    CMakeLists 的使用,大型工程使用cmake 的构件过程
    ieee文献免费下载办法
    欧式距离、标准化欧式距离、马氏距离、余弦距离
    sliding window:"Marginalization","Schur complement","First estimate jacobin"
    机器学习中的线性代数之矩阵求导
    opencv中滤波方法学习
    opencv关于Mat类中的Scalar()---颜色赋值
    C/C++预处理指令#define,#ifdef,#ifndef,#endif…
  • 原文地址:https://www.cnblogs.com/qiaoer1993/p/13851193.html
Copyright © 2011-2022 走看看