首页 > 数据库 >Redis---数值操作命令

Redis---数值操作命令

时间:2022-08-16 00:22:08浏览次数:80  
标签:127.0 操作命令 0.1 Redis --- 6379 fans num integer

1. 前言

Redis string 类型提供了一些专门操作数值的命令,比如 INCRBY(自增)、DECRBR(自减)、INCR(加1) 和 DECR(减1) 等命令。数值操作,同样有特定的应用场景,比如常见的点赞、取消点赞、关注、取消关注等,这类和计数相关的场景都可以使用数值操作来实现。

注意:此时  key 对应的 value 值是必须是一个整数,或浮点数,使用命令对这个数值进行自增或自减操作。当然,这个数值也不能无限的增大或减小, Redis 规定的数值范围是 -9223372036854775808 至 9223372036854775807,如果超过了这个数值范围,Redis 就会报错。

2. 常用命令

1) INCR命令

INCR 命令指对 value 数值做加 1 操作,其数值范围是 64 位的有符号整型(-9223372036854775808 至 9223372036854775807)。

如果 key 不存在,那么 Redis 将自动创建 key,并将 value 初始化为 1。以下示例,自动创建一个记录粉丝数量的 key,也就是 fans:num。

自动创建key,并将值置为 "1"
127.0.0.1:6379> INCR fans:num
(integer) 1
#粉丝数量加1
127.0.0.1:6379> get fans:num
"1"

2) DECR命令

该命令与 INCR 命令相反,它对数值执行减 1 操作。

粉丝取消了关注
127.0.0.1:6379> DECR fans:num
(integer) 0
#取消关注,恢复为0粉丝
127.0.0.1:6379> get fans:num
"0"

3) INCRBY命令

与 INCR 命令类似,不过该命令不是加 1 操作,它表示在原数的基础上进行指定数值的自增运算,语法格式如下:

INCRBY key increment  

其中 increment 表示指定增量值。示例如下:粉丝数每次增加 3 个。

127.0.0.1:6379> INCRBY fans:num 3
(integer) 3
127.0.0.1:6379> INCRBY fans:num 5
(integer) 8
127.0.0.1:6379> INCRBY fans:num 10
(integer) 18

4) DECRBY命令

该命名与 INCRBY 命令相反,它表示在原数值的基础上进行指定数值的自减运算。

INCRBY key decrement  

其中 decrement 指定递减的步长。示例如下:

原来粉丝数是18,执行自减操作
127.0.0.1:6379> DECRBY fans:num 2
(integer) 16
127.0.0.1:6379> DECRBY fans:num 4
(integer) 12
127.0.0.1:6379> DECRBY fans:num 8
(integer) 4
127.0.0.1:6379> DECRBY fans:num 84
(integer) -80

5) INCRBYFLOAT

该命令是 string 中唯一操作浮点数的命令,浮点数可以为正数或者负数,从而实现对数值的加减操作。示例如下:

127.0.0.1:6379> INCRBY fans:num 10
(integer) -70
127.0.0.1:6379> INCRBY fans:num 100
(integer) 30
127.0.0.1:6379> INCRBYFLOAT fans:num 1.5
"31.5"
127.0.0.1:6379> INCRBYFLOAT fans:num -10.5
"21"

在线练习工具:https://try.redis.io/
查看更多命令:https://redis.io/commands

标签:127.0,操作命令,0.1,Redis,---,6379,fans,num,integer
From: https://www.cnblogs.com/jiajunling/p/16590199.html

相关文章

  • Git操作 :从一个分支cherry-pick多个commit到其他分支
    在branch1开发,进行多个提交,这时切换到branch2,想把之前branch1分支提交的commit都【复制】过来,怎么办?首先切换到branch1分支,然后查看提交历史记录,也可以用sourceTree查看,也......
  • go基础 - WaitGroup用法
    go基础-WaitGroup用法packagemainimport( "fmt" "sync" "time")/***CreatedbyGoland*User:[email protected]*Time:2022/8/15-23:33......
  • Elasticsearch 字段别名 field-alias
    环境Elasticsearch8.1Kibana8.1MacOS10.14.6简介首先我们还是先了解一下,什么是字段别名?大家可能听说过索引别名,通过索引的别名可以轻松的切换所需的数据来源与哪......
  • 2022-08-15 第三组 陈迪 学习笔记
    Myspl数据库:数据库:数据库【按照数据结构来组织、存储和管理数据的仓库】。是一个长期储存在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据对于......
  • MySql--存储过程
    MySql--存储过程创建DELIMITER$$--代表执行分隔符(原来是;这里重新定义为$$)USE`furn_ssm`$$--存储过程建立在数据库下,这里指使用数据库furn_ssmDROPPROCEDURE......
  • leetcode1282-用户分组
    用户分组哈希分类给每一个组别容量分配一个List,存入哈希表中。遍历数组,将当前下标加入对应数量的List中。如果List数量满了,那么将其从map中删除并存入返回值。class......
  • 线段树----区间问题的神
    《标准线段树》  普通的线段树,其区间一般都是一个序列的数的个数,但还是要根据不同题目来判断注意:tr[]空间是N*4,N为最大范围《单点修改,区间查询》原题:https://www.......
  • 《GB28379-2012》PDF下载
    《GB28379-2012便器冲洗阀用水效率限定值及用水效率等级》PDF下载《GB28379-2012》简介本标准规定了机械式便器冲压阀、压力式便器冲洗阀、非接触式便器冲洗阀的用水效......
  • 《GB28373-2012》PDF下载
    《GB28373-2012N类和O类罐式车辆侧倾稳定性》PDF下载《GB28373-2012》简介本标准规定了N和O类罐式车辆侧倾稳定性的术语、定义、限值要求、实车试验法、模拟计算法、......
  • 《GB3095-2012》PDF下载
    《GB3095-2012环境空气质量标准》PDF下载《GB3095-2012》简介本标准规定了环境空气功能区分类、标准分级、污染物项目、平均时间及浓度限值、监测方法、数据统计的有效......