zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    过河卒 NOIp 2002 dp
    [POI2014]KUR-Couriers BZOJ3524 主席树
    【模板】可持久化线段树 1(主席树)
    EXPEDI
    取石子游戏 BZOJ1874 博弈
    【模板】文艺平衡树(Splay) 区间翻转 BZOJ 3223
    关于表白
    POJ 1951
    Codeforces 1032F Vasya and Maximum Matching dp
    Codeforces 1016F Road Projects
  • 原文地址:https://www.cnblogs.com/zhaojiu/p/14021386.html
Copyright © 2011-2022 走看看