zoukankan      html  css  js  c++  java
  • redis 支持的各种数据类型

    1. String:

          set:

          get:

       decr:

          incr: (自增。可以用来做计数器,如果结合expire可以用来限制在一定时间内,访问次数等; 并且多线程调用incr,可以保证同步)。

         mget:(一次取得多个key的value)

    2. Hash:

       hget:

       hset:Hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,后续操作的时候,你可以直接仅仅修改这个对象中的某个字段的值。 比如如下代码就是存储一个key为per的人,其age是14, name是jack。

     jedis.hset("per","age", "44" );
     jedis.hset("per","name", "jack");

       hgetall:可以把上面的都取出来。

    Map<String, String> all = jedis.hgetAll("per");

    3.List:

      应用广泛:比如微博的关注列表,粉丝列表,消息列表等功能。

      Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。

            lrange 命令,就是从某个元素开始读取多少个元素,可以基于 list 实现分页查询,这个很棒的一个功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西(一页一页的往下走),性能高

      lpush:

      rpush:

      lpop:

      rpop:

      lrange:

    jedis.lpush("list","5","4", "8");    // 队头插入元素
    jedis.rpush("list","1","3", "9");    // 队尾插入元素
    List<String> resu = jedis.lrange("list", 2, 4);    // 读取指定范围的数据

    4.Set

      set 对外提供的功能与list类似是一个列表的功能,特殊之处在于 set 是可以自动排重的

      当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。可以基于 set 轻易实现交集、并集、差集的操作

      sadd

      spop

      smembers

     jedis.sadd("set", "4","1","7" ,"2", "3", "9");
     Set<String> ressfd = jedis.spop("set", 3);    // 注意:  取出的3个数据,是随机的。
     jedis.smembers("set");                        // 取出set的成员

           sunion(并集) / sinter(交集) / sdiff(差集):

     jedis.sadd("set1", "1","2","3");
     jedis.sadd("set2", "3","4","5" );
    
     Set<String> union = jedis.sunion("set1", "set2");      //  1,2,3,4,5
     Set<String> inter = jedis.sinter("set1", "set2");      //  3
     Set<String> diff = jedis.sdiff("set1", "set2");        //  1,2

    5.Sorted Set

            和set相比,sorted set增加了一个权重参数score,使得集合中的元素能够按score进行有序排列

      zadd,zrange,zrem,zcard

  • 相关阅读:
    Python随笔之字典Dict
    Python随笔之列表List
    Python基础整理,懒得分类了,大家对付看看吧
    shell批量推送公钥脚本
    Xcode 切换target 之后打包失败
    百度导航sdk错误日志
    前端项目中去掉替换双引号
    taro3.x项目中引用taro-ui以及taro-iconfont-cli
    taro
    JS中some() every() forEach() map() filter()的区别
  • 原文地址:https://www.cnblogs.com/liufei1983/p/12102584.html
Copyright © 2011-2022 走看看