redis 由浅入深 (一) --数据类型

1. redis支持的数据类型

  • string:二进制的安全字符串
  • hash:有field和关联的value组成的map,其中value中存储的是结构化的对象,方便操作其中的某个字段
  • list:按插入顺序排序的字符串集合
  • set:不重复且无序的字符串元素的集合
  • sorted set:类似于set,但是每个字符串元素都关联到一个叫score浮动数值

2. redis各种数据类型应用的场景

  • string: 这个是比较常见的类型,value可以是字符串页可以是int类型,一般可以缓存基本的数据,也可做复杂的计数功能的缓存等;
  • hash:存储容易变更等结构化数据,如:用户信息等,单点登录信息同样适用
  • list:list首先的一个应用就是消息队列,利用lrange命令,做基于redis的分页功能,但不太适用于高并发场合
  • set:该集合存储的是不重复的无序数据,可以做全局去重的操作,还可以利用交集、并集和差集等操作
  • sorted set:因为是有序集合,可以用作排行榜,也可以应用在范围查找

3. redis各种数据类型的常用命令

  • string:

      get/set:获取key的值和设置key值

      getset:设置字符串的值,并返回旧值

      incr/decr:增加或递减一次整数值

      mset/mget:设置多个键多个值或获取所有给定键的值

      append:追加值到给定的键

      strlen:获取存储键的值的长度

      setnx:设置键的值,只有当该键不存在

      setex:当键过期时设置值

  • hash:

      hget:获取对象中该field属性域的值

      hset:设置对象指定字段的值

      hgetall:获取对象的所有属性域和值

   hincrby:将该对象中指定域的值增加给定的value,原子自增操作,只能是integer的属性值可以使用

       hexists: 查看对象是否存在该属性域

  • list:

       lpush:在前面加上一个或多个值的列表

       rpush:添加一个或多个值到列表

       lpop:获取并取出列表中的第一个元素

       rpop:取出并获取列表中的最后一个元素

       lrange:从一个列表获取元素集

       ltrim:获取列表指定的范围内集合

       llen:获取列表的长度

       blpop:移出并获取列表中的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

       brpop:移出并获取列表中的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

  • set:

       sadd:添加一个或者多个元素到集合

       spop:获取并删除一个集合里面的元素

       smembers:获取集合里面的所有key

       sunion:添加多个set元素

       sinter:获得两个集合的交集

       scard:集合中元素的数量

  • sorted set:

       zadd:添加一个或多个成员到有序集合,或者如果它已经存在更新其分数

       zrange:返回有序集 key 中,指定区间内的成员,其中成员的位置按 score 值递增(从小到大)来排序

       zrevrange:返回有序集 key 中,指定区间内的成员,其中成员的位置按 score 值递减(从大到小)来排序

       zrem:移除有序集 key 中的一个或多个成员,不存在的成员将被忽略

       zcard:返回有序集 key 的基数

猜你喜欢

转载自blog.csdn.net/bian1121/article/details/82109062
今日推荐