• Redis 数据类型


    字符串(string)

    set 键 值
    添加数据
    get 键
    读取数据

    Linux操作系统下编写

    127.0.0.1:1715> set num 100
    127.0.0.1:1715> get num
    

    incr 键
    增加(increment缩写,默认每次只+1)

    127.0.0.1:1715> incr num 
    

    incrBy 键 值
    增加多个数量

    127.0.0.1:1715> incrBy num 100
    

    decr 键
    递减(默认每次只-1)

    127.0.0.1:1715> decr num 
    

    decrBy 键 递减数
    递减指定的数量

    127.0.0.1:1715> decrBy num 10
    

    append 变量名 追加的内容
    字符串后追加内容

    127.0.0.1:1715> append name world
    

    delete 键
    删除

    127.0.0.1:1715> delete num 
    

    expire 键 时间长度/秒
    设置数据的有效期

    127.0.0.1:1715> expire num 10
    

    expireAt('变量名',时间戳)
    设置数据的有效期
    strtotime('时间')
    将字符串转换成时间戳

    <?php        
        //设置时区
        date_default_timezone_set('PRC');
        //1.实例化redis对象
        $redis = new Redis();
        //2.连接redis服务器
        $result = $redis -> connect('127.0.0.1',1715);
        //3.设置数据的有效期
        echo strtotime("2018-04-25 10:50:00");
        $redis -> expireAt('name',strtotime("2018-04-25 10:50:00"));
    

    exists 变量名
    判断变量是否存在

    127.0.0.1:1715> exits name 
    

    链表(list)

    链表, 一段逻辑上连续的存储空间(类似于PHP的索引数组),和链表相关的方,基本是l开头
    image
    lpush

    <?php        
        //1.实例化redis对象
        $redis = new Redis();
        //2.连接redis服务器
        $result = $redis -> connect('127.0.0.1',1715);
        //3.
        $redis -> lpush('waiting','one');
        $redis -> lpush('waiting','two');
        $redis -> lpush('waiting','three');
    

    rpop

    127.0.0.1:1715> RPOP waiting
    "one"
    

    rpush
    lpop
    lpush、rpop 和 rpush、lpop 这两对常用来生成任务队列,先到先得(FIFO)。通常在生成订单时会使用链表方式生成任务队列
    lrange 变量名 开始的索引 结束的索引
    获取指定索引范围的元素(若结束的索引为-1,表示倒数第一个)

    127.0.0.1:1715> LRANGE waiting 0 1
    1) "two"
    2) "one"
    127.0.0.1:1715> LRANGE waiting 0 -1
    1) "three"
    2) "two"
    3) "one"
    

    llen 变量名
    长度

    127.0.0.1:1715> llen waiting 
    (integer) 3
    

    lset 变量名 索引 元素
    设置某个索引处元素

    127.0.0.1:1715> lset waiting 0 first
    OK
    

    lrem 变量名 索引 元素
    删除指定的元素

    127.0.0.1:1715> lrem waiting 0 first
    (integer) 1
    

    哈希表(hash)

    以键值对的方式存储数据(类似于PHP中的关联数组),常用来保存有关联关系的数据。和哈希表相关的方法,都是以h开头
    hset 变量名 键 值
    设置某个键

    127.0.0.1:1715> hset people name David
    (integer) 1
    

    hget 变量名 键
    获取某个键

    127.0.0.1:1715> hget people name 
    

    hlen 变量名
    元素个数

    127.0.0.1:1715> hlen people 
    

    hdel 变量名 键
    删除某个元素

    127.0.0.1:1715> hden people name
    

    hexists 变量名 键
    某个元素是否存在

    127.0.0.1:1715> hexists people name
    

    集合(set)

    集合类型的数据有2个特点:

    • 成员没有顺序性,无序
    • 成员唯一

    和集合类型相关的方法,以s开头
    sadd 成员 值
    添加成员

    127.0.0.1:1715> sadd hobby swim
    

    smembers 成员
    获取集合中的全部成员,不区分大小写(在php中调用时使用小写0)

    127.0.0.1:1715> smembers hobby 
    

    spop 成员
    弹出成员

    127.0.0.1:1715> spop hobby 
    "swim"
    

    srem 成员
    删除成员

    127.0.0.1:1715> srem hobby 
    (integer) 1
    

    scard 成员
    成员个数

    127.0.0.1:1715> scard hobby 
    (integer) 0
    

    有序集合(sorted-set)

    适合开发排行榜类型的应用
    zadd 变量名 分值 成员
    添加成员, 同时指定分数

    127.0.0.1:1715> zadd rank 5 baidu 
    (integer) 1
    

    zincrBy 变量名 成员
    递增成员的分值

    127.0.0.1:1715> zincrBy rank 5 baidu 
    (integer) 1
    

    zScore 变量名 成员
    获取成员的分

    127.0.0.1:1715> zScore rank baidu 
    
    

    zrange 变量名 最小分值 最大分值
    根据分值, 返回指定范围的成员

    127.0.0.1:1715> zrange rank 0 -1 
    

    zRevRange 变量名
    倒序(降序分值)

    127.0.0.1:1715> zRevRange rank 
    

    zRangeByScore 变量名 最大分值 最小分值
    分值过滤成员

    127.0.0.1:1715> zRangebyScore rank 5 1 
    
  • 相关阅读:
    「Codeforces 79D」Password
    「算法笔记」BSGS
    「Codeforces 468C」Hack it!
    「算法笔记」快速傅里叶变换(FFT)
    「算法笔记」2-SAT 问题
    「算法笔记」基础数论 2
    《算法笔记》二分—木棒切割问题&求凸多边形外接圆最大半径
    《算法笔记》区间贪心
    《算法笔记》PAT B1020 月饼、PAT B1023 组个最小数
    《算法笔记》n皇后问题
  • 原文地址:https://www.cnblogs.com/writerW/p/8942374.html
Copyright © 2020-2023  润新知