02.Redis— —数据类型

本文主要介绍Redis中键的操作、物种数据类型的操作。

一、键-key

常用命令如下:

序号命令及描述
1DEL key 该命令用于在 key 存在时删除 key。
2DUMP key 序列化给定 key ,并返回被序列化的值。
3EXISTS key 检查给定 key 是否存在。
4EXPIRE key seconds 为给定 key 设置过期时间,以秒计。
5EXPIREAT key timestamp ,EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6PEXPIRE key milliseconds,设置 key 的过期时间,以毫秒计。
7PEXPIREAT key milliseconds-timestamp ,设置 key 过期时间的时间戳(unix timestamp) ,以毫秒计
8KEYS pattern 查找所有符合给定模式( pattern)的 key 。
9MOVE key db将当前数据库的 key 移动到给定的数据库 db 当中。
10PERSIST key 移除 key 的过期时间,key 将持久保持。
11PTTL key 以毫秒为单位返回 key 的剩余的过期时间。
12TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13RANDOMKEY 从当前数据库中随机返回一个 key 。
14RENAME key newkey修改 key 的名称
15RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey 。
16TYPE key 返回 key 所储存的值的类型。

二、字符串-string

常用命令如下:

命令描述
SET key value此命令用于设置指定键的值。
GET key此命令用于检索键的值。
GETRANGE key start end此命令用于获取存储在键中的字符串的子字符串。
GETSET key value此命令用于设置键的字符串值并返回其旧值。
GETBIT key offset此命令用于返回存储在key的字符串值中的偏移量处的位值。
MGET key1 [key2 …]此命令用于获取所有给定键的值
SETBIT key offset value此命令用于设置或清除存储在key的字符串值中的偏移位
SETEX key secodes value此命令用于设置key到期时的值
SETNX key value仅当key不存在时,此命令用于设置key的值
SETRANGE key offset value此命令用于覆盖从指定偏移量开始的键处的字符串部分
STRLEN key此命令用于检索存储在key中的值的长度
MSET key value [key value …]此命令用于将多个键设置为多个值
MSETNX key value [key value …]仅当没有任何键存在时,此命令用于将多个键设置为多个值
PSETEX key milliseconds value此命令用于设置key的值和到期时间(以毫秒为单位)
INCR key此命令用于将键的整数值递增1
INCRBY key increment此命令用于按给定量递增键的整数值
INCRBYFLOAT key increment此命令用于按给定的量增加键的浮点值
DECR key此命令用于将键的整数值递减1
DECRBY key decrement此命令用于按给定数量递减键的整数值
APPEND key value此命令用于将值附加到键

三、列表-list

Redis列表是按插入顺序排序的字符串列表。可以在列表的头部(左边)或尾部(右边)添加元素。

列表可以包含超过40亿个元素。

命令描述
BLPOP key1 [key2] timeout删除和获取列表中的第一个元素,或阻塞直到一个元素可用。
BRPOP key1 [key2] timeout删除和获取列表中的最后一个元素,或阻塞直到一个元素可用。
BRPOPLPUSH source destination timeout从列表中弹出一个值,将其推送到另一个列表并返回它; 或阻止,直到有一个可用。
LINDEX key index通过索引从列表中获取元素。
LINSERT key before|after pivot value在列表中的另一个元素之前或之后插入元素。
LLEN key获取列表的长度。
LPOP key删除和获取列表中的第一个元素。
LPUSH key value1 [value2]将一个或多个值添加到列表中。
LPUSHX key value仅当列表存在时,将值添加到列表中。
LRANGE key start stop从列表中获取一系列元素。
LREM key count value从列表中删除元素。
LSET key index value通过索引设置列表中元素的值。
LTRIM key start stop将列表修剪到指定范围。
RPOP key删除和获取列表中的最后一个元素。
RPOPLPUSH source destination删除列表中的最后一个元素,将其附加到另一个列表并返回它。
RPUSH key value1 [value2]将一个或多个值附加到列表。
RPUSHX key value仅当列表存在时,用于将值附加到列表。

四、集合-set

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中没有重复的数据。

在Redis中,添加、删除和查找的时间复杂都是O(1)(不管Set中包含多少元素)。

集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员)。

命令描述
SADD key member1 [member2]将一个或多个成员添加到集合中。
SCARD key获取集合中的成员数量。
SDIFF key1 [key2]返回给定所有集合的差集。
SDIFFstore destination key1 [key2]返回给定所有集合的差集并存储在 destination 中。
SINTER key1 [key2]返回集合交集。
SINTERSTORE destination key1 [key2]返回给定所有集合的交集并存储在 destination 中。
SISMEMBER key member判断 member 元素是否是集合 key 的成员。
SMOVE source destination member将 member 元素从 source 集合移动到 destination 集合。
SPOP key移除并返回集合中的一个随机元素。
SRANDMEMBER key [count]返回集合中一个或多个随机数。
SREM key member1 [member2]移除集合中一个或多个成员。
SUNION key1 [key2]返回所有给定集合的并集。
SUNIONSTORE destination key1 [key2]所有给定集合的并集存储在 destination 集合中。
SSCAN key cursor [match pattern] [count count]迭代集合中的元素。

五、有序集合-zset

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员)。

命令描述
ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key获取有序集合的成员数
ZCOUNT key min max计算在有序集合中指定区间分数的成员数
ZINCRBY key increment member有序集合中对指定成员的分数加上增量 increment
ZINTERSTORE destination numkeys key [key …]计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZLEXCOUNT key min max在有序集合中计算指定字典区间内成员数量
ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合成指定区间内的成员
ZRANGEBYLEX key min max [LIMIT offset count]通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]通过分数返回有序集合指定区间内的成员
ZRANK key member返回有序集合中指定成员的索引
ZREM key member [member …]移除有序集合中的一个或多个成员
ZREMRANGEBYLEX key min max移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK key start stop移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max移除有序集合中给定的分数区间的所有成员
ZREVRANGE key start stop [WITHSCORES]返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGEBYSCORE key max min [WITHSCORES]返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK key member返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE key member返回有序集中,成员的分数值
ZUNIONSTORE destination numkeys key [key …]计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZSCAN key cursor [MATCH pattern] [COUNT count]迭代有序集合中的元素(包括元素成员和元素分值)

六、哈希-hash

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。每个哈希键中可以存储多达40亿个字段值对。

命令描述
HDEL key field1 [field2]删除一个或多个哈希字段。
HEXISTS key field确定是否存在哈希字段。
HGET key field获取存储在指定键中的哈希字段的值。
HGETALL key获取存储在指定键的散列中的所有字段和值
HINCRBY key field increment按给定数字递增散列字段的整数值
HINCRBYFLOAT key field increment将散列字段的浮点值递增给定量
HKEYS key获取哈希中的所有字段
HLEN key获取散列中的字段数
HMGET key1 [field2]获取所有给定哈希字段的值
HMSET key field1 value1 [field2 value2]将多个哈希字段设置为多个值
HSET key field设置哈希字段的字符串值
HSETNX key field仅当字段不存在时,设置哈希字段的值
HVALS key获取哈希值中的所有值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值