Redis的数据类型

Redis的数据类型

String类型

1.语法 set key  value    设置key的值

  示例:set name zhangsan

        set age 22

                  set name lisi  如果key存在,将会覆盖原来key的值

 

2.语法  get key     获取key的值

  示例:get name

        get age

 

3.语法  del key      删除指定key的值

  示例:del name

        del age

                 

4.语法: append key value  在原来的值的基础上添加新值

  示例:set name zhangsan

        append name lisi

                 

5.语法: strlen  key       获取指定key的值的长度

        strlen  name      12

                 

6.语法: getrange key  start  end  获取指定key的值,从start位置开始,end位置结束

  示列:getrange name 2 7

 

7.语法: setrange key offset value 从起始位置替换值

  示例:setrange name 2 abc

 

8.语法: setex key second  value   设置key的值并指定存活时间

  示例: setex name 100 lisi

 

9.语法:setnx key value            设置key的值并且永久有效

  示例:setnx address beijing

           

10.语法: incr key     对key的值自增1

   示列: incr currentPage

  

11.语法: decr key     对key的值自减1

   示列: decr currentPage

  

12.语法: incrby key  number     对key的值递增number

   示列: incrby currentPage 10

  

13.语法: decrby key  number     对key的值递减number

   示列: decrby currentPage 5

  

14.语法: mset key1 value1 key2 value2 ....    一次性设置多个key-value键值对

   示列: mset name1 zhangsan name2 lisi name3 wangwu

 

15.语法: mget key1 key2 ....    一次性获取多个key的值

   示列: mget name1 name2

16.语法  expire key seconds     设置key的存活时间  seconds秒数

   示例  expire address 30

17 语法  ttl key                查看key的存活时间  如果返回-1 表示永久有效

   示例  ttl name

18.语法  persist key             设该key永久有效

   示列  persist address

 

Hash数据类型

Map<String,Map<String,String>>

 

1.语法: hset key  field  value   设置key 的 field字段的值

  示列: hset person name lisi

        hset person address changsha

                  hset person birthday 1997-10-10

 

2.语法: hget key field           获取key的field字段的值

  示例: hget person name

 

 

4.语法: hmset key field1 value1  field2 value2 .... 一次设置key的多个字段的值

  示例: hmset student name wagnwu age 22 gender man

 

5.语法: hmget key  field1 field2 ....              一次获取key的多个字段的值

  示例: hmget student name age gender

 

6.语法: hgetall key                                获取key的多个字段的值(包括键和值)

  示例: hgetall student

 

7.语法: hkeys key                                  获取key的所有字段

  示例: hkeys student

 

8.语法: hvals key                                  获取key的所有字段的值

  示例: hvals student

 

9.语法: hdel key field1 field2 ...                 删除key的所有多个字段的值

  示例: hvals student

 

10.语法: hlen key                                   返回key的所有键值对的个数

   示例: hlen student

 

11.语法: hexists key field                          返回key的field字段是否存在

   示例: hexists student name

  

List数据类型

1.语法: lpush key value1 value2....                 向key集合的左边一次添加值

  示例: lpush ages 22 34 21 45 20

 

2.语法: rpush key value1 value2....                 向key集合的右边一次添加值

  示例: rpush names zhangsan lisi wangwu zhaooiu

 

3.语法: lrange key start stop                       取key集合中指定的start位置到stop位置的内容(-1代表集合结束)

  示列:lrange ages 0 2

        lrange ages 0 -1

                                                     lrange ages 0 100

 

4.语法: llen   key             查看key集合的长度

  示例: llen ages

 

5.语法: lpop   key             删除key集合的第一个元素

  示例: lpop  ages

 

6.语法: rpop   key             删除key集合的最后一个元素

  示例: rpop   ages

  

7.语法: lindex  key  index     获取key集合的index索引的元素

  示例: lindex   ages  2

 

8.语法: lrem key count value   删除key集合的count个索引的元素(集合中有重复值)                  

  示例: lrem ages 2  45

 

set数据类型

 

1.语法: sadd  key  value1 value2 ...        向为key的集合中添加多个值(去重)          

  示例: sadd empNames zhangsan lisi wangwu zhaoliu lisi

 

2.语法: smembers   key           循环key集合中的所有值           

  示例: smembers empNames

 

3.语法: scard   key              统计key集合中的元素个数         

  示例: scard empNames

 

4.语法: srem    key   value      删除key集合中的value值        

  示例: scard empNames  lisi

 

5.语法: spop    key              随机删除key集合中的某个值        

  示例: scard empNames  lisi

 

6.语法: smove source destination member  将集合中的某个值赋给另外一个集合: SMOVE 源集合  目的集合  值    

  示例: smove empNames works zhangsan

 

7.语法: Sdiff   集合1  集合2              求差集        

  示例: sadd seta a b c d e

        sadd setb c d e f g

                  sdiff seta setb

                  1) "a"

        2) "b"

                  sdiff setb seta

                  1) "f"

        2) "g"

                 

8.语法: sinter  集合1  集合2              求交集   

  示例: sinter seta setb

        1) "d"

                  2) "c"

                  3) "e"

                 

9.语法: sunion  集合1  集合2              求并集   

  示例: sunion seta setb

                  1) "d"

                  2) "a"

                  3) "b"

                  4) "c"

                  5) "e"

                  6) "f"

                  7) "g"

                 

 

zset(SortedSet)数据类型

1.语法: zadd  key   score value ...        向为key的集合中添加多个(score-value)           

  示例: zadd students 1 zhangsan 3 lisi 2 wangwu 5 zhaoliu

 

2.语法: zrange key start stop [WITHSCORES]     循环key的集合从start位到stop位置的值          

  示例: zrange students 0 -1

        1) "zhangsan"

                  2) "wangwu"

                  3) "lisi"

                  4) "zhaoliu" 

                   

3.语法: zrem key value                删除key集合中指定的value元素 

  示例: zrem students lisi

 

4.语法: zrevrange key start stop   [WITHSCORES]    逆序显示key集合中的元素 

  示例: zrevrange students 0 -1

        zrevrange students 0 -1 withscores

        

5.语法: zrangebyscore key min max               根据分数区间查询内容

  示例:zrangebyscore students 2 5

 

6.语法: zcard key                               统计key集合中有多少个键值对

  示例: zcard students 

 

7.语法: zcount key min max                      统计key集合中min到max区间元素

  示例: zcount students 1  4

 

8.语法: zrank students wangwu                   统计key集合中指定元素索引

  示例: zrank students wangwu

 

9.语法: zscore key value                        统计key集合中指定元素的分数

  示例: zscore students zhangsan 

原文地址:https://www.cnblogs.com/zhaojiu/p/14021386.html