php redis 自增计数器,redis自增计数
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自增计数相关推荐
- php redis 自增计数器,redis实现高并发计数
业务需求中经常有需要用到计数器的场景:譬如一个手机号一天限制发送5条短信.一个接口一分钟限制多少请求.一个接口一天限制调用多少次等等.使用Redis的Incr自增命令可以轻松实现以上需求.以一个接口一 ...
- redis mysql 原子计数器_使用redis的increment()方法实现计数器功能案例
一直知道redis可以用来实现计数器功能,但是之前没有实际使用过,昨天碰到一个需求:用户扫码当天达到20次即提示:当日扫码次数达到上限! 当时就想到使用redis的递增方法increment()来实现 ...
- Redis应用场景-计数器
文章目录 Redis应用场景-计数器 计数器 视频播放次数 防止刷单 限制登录失败次数 参考文档 Redis应用场景-计数器 计数器 计数器可以分为: 简单计数器,用incr就可以实现: 有有效期的计 ...
- nx set 怎么实现的原子性_【redis进阶(1)】redis的Lua脚本控制(原子性)
[toc] 为什么要用lua 减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成.使用脚本,减少了网络往返时延. 原子操作:Redis会将整个脚本作 ...
- php redis中文手册——《redis中文手册》 php版
redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
- Redis基本使用|基本命令|redis事务|Jedis|持久化|订阅|集群|
文章目录 Redis ! 一.概述 二.安装 三.实操 1.性能测试 2.基础知识 3.基本key命令 4.基本数据类型 1.String 2.List 3.Set 4.Hash 5.Zset 5.特 ...
- 【redis】二、redis数据类型
文章目录 数据存储类型介绍 业务数据的特殊性 作为缓存使用 附加功能 Redis 数据类型(5种常用) Redis 数据存储格式 string string类型数据的基本操作 单数据操作与多数据操作的 ...
- 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 ...
- Redis万字笔记 深入浅出redis
笔记里有大量图片帮助你快速理解Redis 因为上传图片很麻烦这是无图片版的 想要有图片版的压缩包的可以在这里下载:后端+Redis+Redis笔记+加深记忆-Java文档类资源-CSDN文库 也可以关 ...
最新文章
- 转换 Byte 数组到 ... - 回复 高群 的问题
- 开闭操作进行平滑处理与边缘提取
- 大豆和黄豆芽还能吃吗?
- tomcat php模块化运行,Windows下 Tomcat 运行 PHP 的配置
- RocketMQ-初体验RocketMQ(07)-使用API操作RocketMQ_顺序消息 ordermessage
- TCP/IP详解卷一02
- 164. Maximum Gap
- smart-link原理
- 服装免费收银系统哪个好-云上铺会员管理软件
- 记录贴:阿里云 ECS服务器CentOS系统 搭建 Hexo 博客详细教程
- android 桌面操作系统,Android主题美化: Win7桌面完成版Android Seven Pro V2
- 为戴尔服务器下载ESXi
- HBuilderX运行微信小程序启动失败
- 在线词云工具Tagxedo的使用
- 磁力链接文件服务器,什么是磁力链接(BT、磁力链这些词语是什么意思?)
- C语言递归函数求n!的两种写法---详细讲解
- html文件默认浏览器改不了,怎么设置默认浏览器 3种更改默认浏览器方法
- word排版案例报告_文章为什么要排版?如何排版?这篇文章告诉你真相
- FortiClient VPN连接至98%时报错:Unable to establish the VPN connection.(E=98,T-981011001,M99,R10)
- 软件测试——三角形问题测试用例练习
热门文章
- 软件测试工程师真实经历,一个软件测试工程师的加班经历
- R语言 使用regsubsets等函数进行回归模型的选择
- linux中超级终端怎么用,Linux系统下超级终端Minicom的使用方法是什么?
- 【NLP】文本LDA主题聚类主题词生成PyLDAvis可视化
- 2017第23届 中国(北京)国际墙纸墙布窗帘暨家居软装饰博览会会刊(参展商名录)
- 详细讲解新闻发布会媒体邀约流程
- 计算机工考技师人机都考什么,必看|什么是人机对话考试!
- C++ Hook 键盘记录器
- 培训出来的外包码农一般工资多少
- 安卓面试题 Android interview questions