Redis(三):数据类型

1. 字符串:

Redis的string值大小不能超过512MB,实际这个值已经很大了,因此,很多应用情况下都没有问题的了。

1. 1 设置值

命令行终端输入set后,出现如上图提示:

value是key对应的值,EX和PX是对应的过期时间,分别为秒和毫秒级别,NX和XX要注意一下,NX在设置key时,key不存在执行成功,而XX在key存在时才执行成功,相当于更新key的值,因此, NX有一个好处就是相当于锁,多个请求设置,只有一个请求执行成功,而不会相互影响。(注意:如果第一次设置了过期时间,第二次再同样设置该key但没设置过期时间,第一次设置的过期时间会被清除

设置key的值为value,同时返回该key上一次的值

指定key的值指定位置offset的字符变为b

对应getrange或获取key指定范围的值

1.2 获取值

get key用于获取对应key的值,key不存在则返回nil值。

mget则可一次性获取多个key对应的值。

1.3 追加值

指定key后追加value字符串

1.4 字符串长度

2. 哈希

Redis的哈希值类型的值本身也是一个key-value结构数据,如下所示:

2.1 设置值

指定key的值增加一对key-value的值,也可批量设置:

2.2 获取值

获取给的key键值对应field的值,也可批量获取:

2.3 删除值

可以一次删一个或多个field值

附:

查看key的值有多少个field。

判断field是否存在

获取key值里的所有的field

获取key值所有field对应的值

3. 列表

用来存储多个有序的字符串,类似数组,可以在一个列表的两端进行操作,分别对应lpush/lpop和rpush/rpop(注意两个操作方向不一样,一个是从左向右,一个是从右向左),因为是有序的,因此元素可重复。

3.1 设置值

左边推入value值

替换列表中索引为index的值为value

3.2 获取值

获取key对应值,区间从start到stop,包含stop

获取指定索引的元素,最后一个元素索引为-1

3.3 插入元素

对应key的值的元素pivot前面或后面插入元素value

3.4 删除元素

可使用lpop或rpop从左边或右边弹出边界的那个元素。

count>0, 从左到右删除count个值为value的元素;

count<0, 从删除count个值为value的元素;

当count=0, 删除列表中所有值为value的元素。

附:

列表的元素个数,即长度。

4. 集合

集合中元素是无序的,并且元素不能重复。

4.1 添加元素

 

4.2 删除元素

4.3 查看对应key的集合的元素个数,时间复杂度为O(1)

4.4 判断元素member是否在key对应的集合中

4.5 从集合随机获取指定数量的元素

4.6 从集合中随机删除一个元素

[count]参数在Redis3.2版本以上才支持。

4.7 求两个集合的交集

保存交集的结果:

destination key是保存集合结果的集合的key, [key...]是需要计算交集的多个集合的key

4.8 求两个集合的并集

保存并集的结果:

4.9 求两个集合的差集

保存差集的结果:

5. 有序集合

和集合类似,元素不能重复,虽然有序,但是和列表不一样,无法使用索引访问元素,它的元素基于分值来排序的,比如一个班有53个人,在一次考试中就构成一次有序集合,首先,每个人肯定不一样了,然后每个人都有一个分数,而分数从高到低排名,即使分数有可能一样,但是这个可以。因此,有序集合可以用来在实际应用中实现排行榜系统。

5.1 添加元素

集合中添加一个member元素和它的分值score。[NX|XX]和前面的nx/xx含义一样,[CH]返回此次操作后有序集合元素和分数发生变化的个数,[INCR]是对scroe进行增加操作。

5.2 查看元素个数

5.3 查看某元素对应的分值,无此member返回nil

5.4 获取元素在有序集合中的排名:

正向排名:

反向排名:

5.5 删除元素

5.6 给元素增加分值,默认加1,需要指定增加分值就增加increment member参数, member对应要增加的分值

5.7 获取指定排名范围的元素,如需同时返回其对应分值,增加withscroes参数即可

反向操作:

5.8 返回指定分数范围的元素,如需同时返回其对应分值,增加withscroes参数即可, min和max还支持开"("、闭区间"]"符号,可用-inf或+inf表示正负无穷大,[LIMIT OFFSET COUNT]参数可用来限制输出地起始位置和个数

反向操作:

5.9 获取指定分值范围内的元素个数

5.10 删除指定排名内的升序的元素, 从第start名到第stop名

5.11 删除指定分数范围的成员

5.12 交集: [numberkeys]表示要做交集计算的集合的个数

5.13 并集

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值