Redis--数据类型

  1. Redis的五大数据类型
    • String(字符串)
      • string是redis最基本的类型,你可以理解成与Memcached一模-样的类型, 一个key对 应一个value.

      • string类型是二进制安全的°T意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。 ,

      • string类型是Redis最基本的数据类型,-一个redis中字符串value最多可以是512M

    • Hash(哈希,类似于java中的Map)
      • Hash (哈希)

      • Redis hash是-一个键值对集合。

      • Redis hash是一个string类型的field和value的映射表,hash特 别适合用于存储对象。

      • 类似Java里面的Map< String,Object>

    • List(列表)
      • Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

      • 它的底层实际是个链表

    • Set(集合)
      • Redis的Set是string类型的无序集合。(我重复)它是通过HashTable实现实现的,

    • Zset(sorted set:有序集合)
      • zset(sorted set:有序集合)

      • Rediszset和set-样也是string类型元素的集合,且不允许重复的成员。

      • 不同的是每个元素都会关联-一个double类型的分数。

      • redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯- -的,但分数(score)却可以重复。

            
  2. 哪里去获取Redis常见数据类型操作命令
    • Http://redisdoc.com/

  3. Redis键(key)
    1. 常用

      •  

    2. 案例

      • keys *

      • exists key的名字,判断某个key是否存在

      • move key db --->当前库就没有这个key值了,被移到其他的库中了

      • expire key秒钟:为给定的key设置过期时间

      • ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期

      • type key查看你的key是什么类型

  4. Redis字符串(Sting)
    1. 常用

      •  

    2. 单值单value

    3. 案例

      • set/get/del/append/strlen

      • Incr/decr/incrby/decrby - - 定要是数字才能进行加减

      • getrange/setrange

      • setex(set with expire)键秒值/setnx(set if not exist,只能设置不存在的值,存在的值设置不成功)

      • mset/ mget/ msetnx(只设置不存在的值)

      • getset(先get再set)

  5. Redis列表(List)
    1. 常用
    2.  单值多value

    3. 案例    

      • lpush / rpush / lrange

      • lpop / rpop

      • lindex,按照索引 下标获得元素(从上到下)

      • llen

      • lrem key 删除n个value

      • ltirm  key 开始index结束index ,截取指定范围内的之后在赋值给key

      • rpoplpush

      • lset  key index value

      • linsert key before/after 值1 值2

      • 性能总结

        1. 它是一个字符串链表,left、 right都可以插入添加;

        2. 如果键不存在,创建新的链表;

        3. 如果键已存在,新增内容;

        4. 如果值全移除,对应的键也就消失了。

        5. 链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

  6. Redis集合(Set)
    1. 常用
      •  
    2. 单值多value
    3. 案例
      • sadd/smembers/sismember

      • scard,获取集合里面的元素个数

      • srem key value删除集合中元素

      • srandmember key某个整数(随机出几个数)

      • spop key随机出栈

      • smove key1 key2在key1里某个值 ,作用是将key1里的某个值赋给key2

      • 数学集合类

        • 交集:sinter

        • 差集:sdiff

        • 并集:sunion  

  7. Redis哈希(Hash)
    1. 常用
      •  
    2. kv模式不变,但v是一个键值对
    3.  案例
      • hset / hget / hmset / hmget / ngetall / hdet

      • hlen

      • hexists  key在key里面的某个值的key

      • hkeys / hvals

      • hincrby / hincrbyfloat

      • hsetnx

  8. Redis有序集合Zset(sorted set)
    1. 常用:
    2. 多说一句

      • 在set基础_上,加一个score值。

      • 之前set是k1 v1 v2 v3,

      • 现在zset是k1 score1 v1 score2 v2

    3.  案例

      • zadd/zrange  :withscores

      • zrangebyscore key 开始score 结束score

        • withscoure
        • (    不包含
        • limit 作用是返回限制:limit 开始下标步  多少步  
      • zrem key 某scoure 下对应的value值,作用是删除元素 

      • zcard  /  zcount key score 区间 / zrank key values值,作用是获得下标值/zscore key对应值,获得分数

      • zrevrank key values值,作用是逆序获得下标值

      • zrevrange

      •  zrevrangebyscore key  结束分数,开始分数  

posted @ 2021-05-23 17:11  张紫韩  阅读(48)  评论(0编辑  收藏  举报