Java猿社区—Redis一篇系列—第三章、Redis数据类型

欢迎关注作者博客
简书传送门

专栏传送门Redis深入学习之路

1、Redis的五大数据类型

1.1、string(字符串)
  • string是redis最基本的类型,可以理解成与Memcached一模一样的类型,一个key对应一个value。
  • string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
  • string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。
1.2、hash(哈希)
  • Redis hash 是一个键值对集合。
  • Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

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

1.3、list(列表)
  • Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
  • 它的底层实际是个链表。
1.4、set(集合)
  • Redis的Set是string类型的无序集合。
  • 它是通过HashTable实现的。
1.5、zset(sorted set:有序集合)
  • Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
  • 不同的是每个元素都会关联一个double类型的分数。
  • redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

2、Redis 键(key)

  常用命令

  • keys *
  • exists key的名字,判断某个key是否存在
  • move key db —>将当前数据库的 key 移动到给定的数据库 db 当中
  • expire key 秒钟:为给定的key设置过期时间
  • ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
  • type key 查看你的key是什么类型
    返回 key 的数据类型,数据类型有:
    none (key不存在)
    string (字符串)
    list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)
    Java猿社区—Redis一篇系列—第三章、Redis数据类型
    Java猿社区—Redis一篇系列—第三章、Redis数据类型

3、Redis字符串(String)

  常用命令

  • set/get/del/append/strlen
    APPEND key value:如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。
    STRLEN key:返回 key 所储存的字符串值的长度。
  • Incr/decr/incrby/decrby (一定要是数字才能进行加减)
    INCRBY key increment:将 key 所储存的值加上给定的增量值(increment)
    DECRBY key decrement:key 所储存的值减去给定的减量值(decrement)
  • getrange/setrange
    GETRANGE key start end:获取指定区间范围内的值,类似between…and的关系
    SETRANGE key offset value:用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
    从零到负一表示全部
  • setex(set with expire)键秒值/setnx(set if not exist)
    SETEX key seconds value:将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
    setex:设置带过期时间的key,动态设置。
    SETNX key value:只有在 key 不存在时设置 key 的值
  • mset/mget/msetnx
    mset:同时设置一个或多个 key-value 对。
    mget:获取所有(一个或多个)给定 key 的值。
    msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
  • getset(先get再set)
    getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
    简单一句话,先get然后立即setJava猿社区—Redis一篇系列—第三章、Redis数据类型
    Java猿社区—Redis一篇系列—第三章、Redis数据类型
    Java猿社区—Redis一篇系列—第三章、Redis数据类型

4、持续更新

欢迎加入Java猿社区!
免费领取我历年收集的所有学习资料哦!

Java猿社区—Redis一篇系列—第三章、Redis数据类型