Redis数字操作

原创 2018年01月21日 07:57:22
一 介绍
Redis字符串键是可以存储数字的,并且当存储是数字的时候,Redis有一些命令可以专门处理这种数字的值。
只要存储在字符串键里面的值可以被解释为64位整数,或者标准的64位浮点数,那么用户就可以对这个字符串键执行针对数字值得命令。
下面表格说明了哪些值可以被解释为整数或浮点数,科学计数法不会试图解释,直接当字符串了。

二 增加或减少数字的值
对于一个键是字符串的key,值是数字的,我们可以使用INCRBY命令增加值,或者使用DECRBY命令来减少值。
命令返回操作执行之后,key的当前值,如果key原先不存在,则Redis会生成一个key为键,value为0的键值对,然后再来增加或减少操作。
看看下面这个实战
127.0.0.1:6379> INCRBY num 100
(integer) 100
127.0.0.1:6379> INCRBY num 25
(integer) 125
127.0.0.1:6379> DECRBY 10
(error) ERR wrong number of arguments for 'decrby' command
127.0.0.1:6379> DECRBY num 10
(integer) 115
127.0.0.1:6379> DECRBY num 50
(integer) 65

三 增一和减一
因为针对数字值的增一和减一操作非常常见,所有redis特别为这两个操作创建了INCR命令和DECR命令。
看看下面实战
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> INCR num
(integer) 11
127.0.0.1:6379> DECR num
(integer) 10
针对增一或减一,有以下应用:
我们可以实现网页上面点击次数的记录,也就是计数器。
id生成器:比如每个用户创建新帖子,有新帖子id;或者新用户注册就是新用户id的创建。

四 浮点数操作
1 介绍
针对浮点操作,只有INCRBYFLOAT命令,但是我们可以传入负数达到减的效果。
2 实战
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> INCRBYFLOAT num 3.14
"13.14"
127.0.0.1:6379> INCRBYFLOAT num -2.14
"11"

五 注意事项
即使字符串键存储的是数字值,也可以执行APPEND、STRLEN、STRRANGE和GETRANGE。
当用户针对一个数字值执行这些命令的时候,Redis会先将数字值转化为字符串,然后再执行命令。
看看下面例子
127.0.0.1:6379> set num 123
OK
127.0.0.1:6379> STRLEN num
(integer) 3
127.0.0.1:6379> APPEND num 456
(integer) 6
127.0.0.1:6379> get num
"123456"





版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/79118084

redis 各个数据类型常用操作

redis 默认有0—15个库,默认连接 0 库 1、KEY 相关的常用操作      del 删除key      exists  检查key是否存在,存在返回1,不存在返回0...
  • xiaofan1988
  • xiaofan1988
  • 2016-08-10 11:35:44
  • 1586

redis保存数据的几种类型

redis保存数据时都有key和value,key和value要么是String类型的,要么是byte[]类型的。在此都是讲的String类型的,所用的jar主要有: commons-pool-1....
  • yunsyz
  • yunsyz
  • 2016-09-20 16:18:35
  • 16160

redis中的数据类型及存储结构

Redis支持五中数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集合)。 Redis定义了丰富的原语命令,可以直接与Re...
  • yinbucheng
  • yinbucheng
  • 2017-05-30 10:54:35
  • 2726

Redis两种存储机制(持久化)的比较

Redis存储机制分成两种Snapshot 和 AOF。无论是那种机制,Redis都是将数据存储在内存中。         Snapshot工作原理: 是将数据先存储在内存,然后当数据累计...
  • u012538947
  • u012538947
  • 2015-04-07 09:21:11
  • 7075

Redis数字操作

一 介绍 Redis字符串键是可以存储数字的,并且当存储是数字的时候,Redis有一些命令可以专门处理这种数字的值。 只要存储在字符串键里面的值可以被解释为64位整数,或者标准的64位浮点数,那么...
  • chengqiuming
  • chengqiuming
  • 2018-01-21 07:57:22
  • 341

关于redis

一、干什么用的: 1、用于kv存储:数据实际存储在内存里,比起mysql存在磁盘里,读写都更加快速 优点:比起那些存在磁盘里的,读写肯定更快(确切的说应该是redis自身的读写操作特别快,但实际使用中...
  • u010246947
  • u010246947
  • 2017-08-26 23:58:46
  • 263

redis实战 完整版下载

  • 2018年02月08日 16:41
  • 47.83MB
  • 下载

redis 整数集合

整数集合 整数集合(intset)用于有序、无重复地保存多个整数值,根据元素的值,自动选择该用什么长度的整数类型来保存元素。 举个例子,如果在一个 intset 里面,最长的元素可以用 ...
  • qq_27623337
  • qq_27623337
  • 2016-11-15 16:54:00
  • 589

redis

Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Re...
  • guowenwen_0416
  • guowenwen_0416
  • 2016-10-10 15:50:33
  • 5296

<em>redis</em>数据库

举报人: 被举报人: gengwx_2008 举报的资源分: 2 *类型: *详细原因: 取  消 提  交 <em>redis</em>数据库 3 积分 立即下载 ...
  • 2018年04月13日 00:00
收藏助手
不良信息举报
您举报文章:Redis数字操作
举报原因:
原因补充:

(最多只允许输入30个字)