Redis哈希散列操作键和有序集合操作键

一、哈希散列

1.代码介绍:


hset key filed value  设置一个字段和对应的值

hmset key filed* value  设置多个字段和对应的值

hget key filed   获取一个字段的值

hmget key filed*  获取多个字段的值

hgetall key  获取所有字段和对应的值

hkeys key  只获取字段名

hvals key  只获取key中字段的值

hdel key filed*  删除key中一个或多个字段

hexists key filed 判断字段是否存在key中

hlen key  获取key的字段的个数

hsetnx key filed value 如果字段不存在,则给key赋值value,否则不执行任何操作

hincrby key filed increment 给字段增加increment大小,若key不存在则先创建再增加


2.实践代码:


hset student:1 name kie school JXAU age 20
hkeys student:1
hvals student:1
hmget name school age
hgetall student:1
hexists student:1 weight
hsetnx student:1 weight 50
hincrby student:1 wight 50
hgetall student:1
hlen studen:1
hdel student:1 weight
hgetall student:1

二、有序集合

1.代码介绍:


zadd key [NX|XX] [CH] [INCR] score* member*    往key中添加分数和元素
[NX|XX]表示不更新或更新存在的元素,NX表示不只添加新元素,XX表示不添加新元素;
[CH]表示返回发生变化的元素总数;[INCR]表示指定元素按照分值进行递增操作

zscore key member 获取key中元素member的分数

zrange key start end withscores 按名次从小到大的顺序获取key中的元素,withscores表示带上分数
同理zrevrange是按从大到小

zrangebyscore key min max withscores limit offset count
在min到max的分数范围内按从小到大的顺序获取key中的元素,withscores表示带上分数,limit offset count 表所从min开始得到的第一个元素偏移offset到第1+offset个元素,从这个元素开始在该范围内获取count个元素,zrevrangebysocre是按从大到小的顺序,其他一样。分数可以为整数和双精度浮点数,如+inf
使用 ( 表所不包含该端点。

zincrby key increment member 让key的member元素的分数增加increment(可正可负)

zcard key 获取key的键值对个数

zcount key min max  获取分数范围在min到max之间的元素

zrank key member 从小到大获取member的排名序数,zrevrank是从大到小获取

zrem key member* 删除一个或者多个key中的元素

zremrangebyrank key start end  按照star到end的元素从小到大的排名范围删除key中的元素

zremrangebyscore key min max   按照分数min到max的范围删除key中的元素


2.实践代码:


创建redis_score有序集合,添加5个键值对数据
zadd redis_score 100 kie 90 vice 80 oblivion 70 heart 60 care

获取redis_score有序集合中键值对个数
zcard redis_score

获取redis_score有序集合中元素kie的分数
zscore redis_score kie

按从小到大的排名顺序获取redis_score有序集合的元素和分数
zrange 0 -1 redis_score withscores

按从大到小的排名顺序获取redis_score有序集合的元素和分数
zrevrange 0 -1 reids_score withscores

获取redis_score有序集合中分数在80到100的元素和分数
zrangebyscore redis_score 80 100 withscores 

获取redis_score有序集合中分数高于60分的第二个人开始的3个人
zrangebyscore redis_score 60 100 withscores limit 1 3

获取redis_score有序集合中分数低于或等于100分的前三个人
zrevrangebyscore redis_score 100 0 withscores limit 0 3

让redis_score有序集合中的care元素的分数增加10分
zincrby redis_score care 10

获取redis_score有序集合中分数在60到100之间的元素个数
zcount redis_score 60 100

按从小到大的排列顺序获取kie的排名
zrank redis_score kie

按从大到小的排列顺序获取care的排序
zrevrank redis_score care

在redis_score有序集合中删除care元素
zrem redis_score care

在redis_score有序集合中删除分数为70到80的元素
zremrangebyscore redis_score 70 80 

在redis_score有序集合中删除所有元素
zremrangebyrank redis_score 0 -2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的思路很明确

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值