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

  • 相关阅读:
    一些你可能用到的代码
    iOS 键盘下去的方法
    iOS设计模式汇总
    随笔
    Spring cloud config 分布式配置中心 (三) 总结
    Spring cloud config 分布式配置中心(二) 客户端
    Spring cloud config 分布式配置中心(一) 服务端
    jdbcUrl is required with driverClassName spring boot 2.0版本
    JpaRepository接口找不到 spring boot 项目
    解决IntelliJ “Initialization failed for 'https://start.spring.io'
  • 原文地址:https://www.cnblogs.com/liufei1983/p/12102584.html
Copyright © 2011-2022 走看看