INCR key

将 key 中储存的数字值增一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。

这是一个针对字符串的操作,因为 Redis 没有专用的整数类型,所以 key 内储存的字符串被解释为十进制 64 位有符号整数来执行 INCR 操作。

可用版本:

>= 1.0.0

时间复杂度:

O(1)

返回值:

执行 INCR 命令之后 key 的值。redis> SET page_view 20

OK

redis> INCR page_view

(integer) 21

redis> GET page_view # 数字值在 Redis 中以字符串的形式保存

"21"

计数器是 Redis 的原子性自增操作可实现的最直观的模式了,它的想法相当简单:每当某个操作发生时,向 Redis 发送一个 INCR 命令。

比如在一个 web 应用程序中,如果想知道用户在一年中每天的点击量,那么只要将用户 ID 以及相关的日期信息作为键,并在每次用户点击页面时,执行一次自增操作即可。

比如用户名是 peter ,点击时间是 2012 年 3 月 22 日,那么执行命令 INCR peter::2012.3.22 。

可以用以下几种方式扩展这个简单的模式:可以通过组合使用 INCR 和 EXPIRE ,来达到只在规定的生存时间内进行计数(counting)的目的。

客户端可以通过使用 GETSET 命令原子性地获取计数器的当前值并将计数器清零,更多信息请参考 GETSET 命令。

使用其他自增/自减操作,比如 DECR 和 INCRBY ,用户可以通过执行不同的操作增加或减少计数器的值,比如在游戏中的记分器就可能用到这些命令。

更多redis知识请关注redis入门教程栏目。

php redis 自增计数器,redis自增计数相关推荐

  1. php redis 自增计数器,redis实现高并发计数

    业务需求中经常有需要用到计数器的场景:譬如一个手机号一天限制发送5条短信.一个接口一分钟限制多少请求.一个接口一天限制调用多少次等等.使用Redis的Incr自增命令可以轻松实现以上需求.以一个接口一 ...

  2. redis mysql 原子计数器_使用redis的increment()方法实现计数器功能案例

    一直知道redis可以用来实现计数器功能,但是之前没有实际使用过,昨天碰到一个需求:用户扫码当天达到20次即提示:当日扫码次数达到上限! 当时就想到使用redis的递增方法increment()来实现 ...

  3. Redis应用场景-计数器

    文章目录 Redis应用场景-计数器 计数器 视频播放次数 防止刷单 限制登录失败次数 参考文档 Redis应用场景-计数器 计数器 计数器可以分为: 简单计数器,用incr就可以实现: 有有效期的计 ...

  4. nx set 怎么实现的原子性_【redis进阶(1)】redis的Lua脚本控制(原子性)

    [toc] 为什么要用lua 减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成.使用脚本,减少了网络往返时延. 原子操作:Redis会将整个脚本作 ...

  5. php redis中文手册——《redis中文手册》 php版

    redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...

  6. Redis基本使用|基本命令|redis事务|Jedis|持久化|订阅|集群|

    文章目录 Redis ! 一.概述 二.安装 三.实操 1.性能测试 2.基础知识 3.基本key命令 4.基本数据类型 1.String 2.List 3.Set 4.Hash 5.Zset 5.特 ...

  7. 【redis】二、redis数据类型

    文章目录 数据存储类型介绍 业务数据的特殊性 作为缓存使用 附加功能 Redis 数据类型(5种常用) Redis 数据存储格式 string string类型数据的基本操作 单数据操作与多数据操作的 ...

  8. Redis源码-String:Redis String命令、Redis String存储原理、Redis String三种编码类型、Redis字符串SDS源码解析、Redis String应用场景

    Redis源码-String:Redis String命令.Redis String存储原理.Redis String三种编码类型.Redis字符串SDS源码解析.Redis String应用场景 R ...

  9. Redis万字笔记 深入浅出redis

    笔记里有大量图片帮助你快速理解Redis 因为上传图片很麻烦这是无图片版的 想要有图片版的压缩包的可以在这里下载:后端+Redis+Redis笔记+加深记忆-Java文档类资源-CSDN文库 也可以关 ...

最新文章

  1. 转换 Byte 数组到 ... - 回复 高群 的问题
  2. 开闭操作进行平滑处理与边缘提取
  3. 大豆和黄豆芽还能吃吗?
  4. tomcat php模块化运行,Windows下 Tomcat 运行 PHP 的配置
  5. RocketMQ-初体验RocketMQ(07)-使用API操作RocketMQ_顺序消息 ordermessage
  6. TCP/IP详解卷一02
  7. 164. Maximum Gap
  8. smart-link原理
  9. 服装免费收银系统哪个好-云上铺会员管理软件
  10. 记录贴:阿里云 ECS服务器CentOS系统 搭建 Hexo 博客详细教程
  11. android 桌面操作系统,Android主题美化: Win7桌面完成版Android Seven Pro V2
  12. 为戴尔服务器下载ESXi
  13. HBuilderX运行微信小程序启动失败
  14. 在线词云工具Tagxedo的使用
  15. 磁力链接文件服务器,什么是磁力链接(BT、磁力链这些词语是什么意思?)
  16. C语言递归函数求n!的两种写法---详细讲解
  17. html文件默认浏览器改不了,怎么设置默认浏览器 3种更改默认浏览器方法
  18. word排版案例报告_文章为什么要排版?如何排版?这篇文章告诉你真相
  19. FortiClient VPN连接至98%时报错:Unable to establish the VPN connection.(E=98,T-981011001,M99,R10)
  20. 软件测试——三角形问题测试用例练习

热门文章

  1. 软件测试工程师真实经历,一个软件测试工程师的加班经历
  2. R语言 使用regsubsets等函数进行回归模型的选择
  3. linux中超级终端怎么用,Linux系统下超级终端Minicom的使用方法是什么?
  4. 【NLP】文本LDA主题聚类主题词生成PyLDAvis可视化
  5. 2017第23届 中国(北京)国际墙纸墙布窗帘暨家居软装饰博览会会刊(参展商名录)
  6. 详细讲解新闻发布会媒体邀约流程
  7. 计算机工考技师人机都考什么,必看|什么是人机对话考试!
  8. C++ Hook 键盘记录器
  9. 培训出来的外包码农一般工资多少
  10. 安卓面试题 Android interview questions