Redis的五种数据类型的简单介绍和使用

数据类型之一:String

 

set key value
设置指定 key 的值


get key
获取指定 key 的值


getrange key startIndex endIndex
获取key指定位置的值


 


MGET key1 [key2..]
一次性获取多个key的值,不存在的key返回值null


setex key timeout newValue
为指定的 key 设置值及其过期时间,timeout以s计算,如果 key 已经存在, SETEX 命令将会替换旧的值,时间到,value值为空


setnx key value
指定的 key 不存在时,为 key 设置指定的value值,如果key存在,返回结果0,设置失败


setrange  key replaceIndex newValue
用指定的newValue覆盖key中value的下标为X的值


strlen key
返回 key 所储存的字符串值的长度


mset key1 'value1' [key2 'value2' key3 'value3']
用于同时设置一个或多个 key-value 对


msetnx key1 'value1' [key1 'value1' key2 'value2']
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在,如果key存在则返回0,成功返回1


psetnx key EXPIRY_IN_MILLISECONDS value
以毫秒为单位设置 key 的生存时间,与	setnx的区别是一个秒单位一个毫秒单位


incr key
将 key 中储存的value(整型数值)+1,只针对value为数字


incrby key num
将 key 所储存的值(整型数值)加上给定的增量整型值(num)


incrbyfloat key num
将 key 所储存的值(数字或浮点型数值)加上给定的增量值(num)


decr key
将 key 中储存的value(整形数值)-1,只针对value为数字


decrby key num
将 key 所储存的值(整型数值)减去给定的整型值(num)


append key value
如果 key 已经存在并且是一个字符串, append命令将指定的 value 追加到该 key 原来值(value)的末尾,如果 key 不存在,则等同于set


数据类型之二:Hash

 

hset key field value
将哈希表 key 中的字段 field 的值设为 value 


hmset key field1 value1 [field2 value2 field3 value3 ]

同时将多个 field-value (域-值)对设置到哈希表 key 中


hset key field value
将哈希表 key 中的字段 field 的值设为 value


hget key field
获取存储在哈希表中指定字段的值


hgetall key
获取在哈希表中指定 key 的所有字段和值


hkeys key
获取哈希表中指定key的字段


hvals key
获取哈希表中指定key的所有字段存储的值


hlen key
获取哈希表中指定key字段的数量


hmget key field1 [field2]
获取哈希表中指定key的给定字段的值


hexists key field
查看哈希表 key 中,指定的字段是否存在


hincrby key field increment
为哈希表 key 中的指定字段的整数值加上整数值增量 increment 


hincrbyfloat key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment


hsetnx key field value
只有在字段 field 不存在时,设置哈希表字段的值


hscan key cursor [MATCH pattern] [COUNT count]
用于迭代哈希表中的键值对
cursor - 游标。
pattern - 匹配的模式。
count - 指定从数据集里返回多少元素,默认值为 10


数据类型之三:List


lpush key value1 [value2 value3 value4...]
将一个或多个值插入到列表头部


lpushx key value
将一个值插入到已存在指定key的列表头部

  


llen key
获取列表长度


lindenx key index
通过索引获取列表中的元素


lset key index value
通过索引设置列表元素的值


rpush key value1 [value2 value3....]
在列表中添加一个或多个值(key已存在直接追加,key不存在直接新增)

  


rpushx key value
为已存在的列表添加值

  

 


linsert key before|after pivot value
在列表的已存在元素(pivot)前(before)或者后(after )插入元素(value)


rpop key
移除列表的最后一个元素,返回值为移除的元素


ltrim key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间start-stop内的元素,不在指定区间之内的元素都将被删除


lpop key
移出列表的第一个元素,并返回移除的第一个元素


lrem key count value
移除列表元素
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
count = 0 : 移除表中所有与 VALUE 相等的值


blpop key1 [key2 ] timeout
移出列表的第一个元素,并返回移除元素的key和value, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

如果列表为空,返回一个 nil 。
否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值
timeout以s为单位


rpoplpush key otherKey
移除指定key列表的最后一个元素,并将移除的这个元素添加到另一个列表(otherKey,otherKey不存在即新增,存在即追加)并返回这个元素值


数据类型之四:Set

asdd key value1 [value2 value3...]
向集合添加一个或多个成员,set中的集合成员是唯一的


smembers key
返回集合中的所有成员


scard key
获取集合的成员数


sdiff  key1 [key2]
返回第一个集合与其他集合之间的差异;
用第一个集合中的成员与其它集合中成员进行对比,如果在其它集合成员中找到该值,则丢弃该值,如果在其它集合成员中未找到该值,则保留该值,以此展示对比完后的结果;
不存在的集合 key 将视为空集。 


sdiffstore 自定义存储差集的key key1 [key2]
返回给定所有集合的差集并存储在 自定义存储差集的key中,如果指定的集合 key 已存在,则会被覆盖。 


sinter key1 [key2]
返回给定所有集合的交集
用第一个集合中的成员与其它集合中成员进行对比,如果在其它集合成员中找到该值,则保留该值,如果在其它集合成员中未找到该值,则丢弃该值,以此展示对比完后的结果;
不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集

sinterstore 自定义存储交集的key key1 [key2]
返回给定所有集合的交集并存储在 自定义存储交集的key中,如果指定的集合 key 已存在,则会被覆盖。 


sismember key member
判断 member 元素是否是集合 key 的成员,是返回结果1,否返回结果0


smove source destination member
将 member 元素从 source 集合移动到 destination 集合,destination 如果不存在则为新增集合,如果destination 存在则为增加成员


spop key
移除并返回集合中的一个随机元素


srandmember key [count]
返回集合中一个或多个随机数


srem key member1 [member2]
移除集合中一个或多个成员


sunion key1 [key2]
返回所有给定集合的并集


sunionsstore destination key1 [key2]
所有给定集合的并集存储在 destination 集合中,destination 如果不存在则为新增集合,如果destination 存在则为增加成员


sscan key cursor [MATCH pattern] [COUNT count]
迭代集合中的元素

数据类型之五:sorted set

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

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


zadd key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数


zcard key
获取有序集合的成员数


zcount key min max
计算在有序集合中指定区间分数的成员数


zincrby key increment member
有序集合中对指定成员的分数加上增量 increment


zinterstore destination numkeys key [key ...]
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 destination 中

destination :存储交集的key,如果key不存在即新增,如果存在会覆盖原值
numkeys :进行交集取值的集合个数


zrange key start stop [WITHSCORES]
通过索引区间返回有序集合指定区间内的成员

其中成员的位置按分数值递增(从小到大)来排序。
具有相同分数值的成员按字典序(lexicographical order )来排列。
下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。
你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。 


zrevrange key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到低

其中成员的位置按分数值递减(从大到小)来排列。
具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列


zrank key member
返回有序集合中指定成员的索引


zrem key member [member ...]
移除有序集合中的一个或多个成员


zcore key member
返回有序集中,成员的分数值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值