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

原文地址:https://www.cnblogs.com/liufei1983/p/12102584.html