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"





版权声明:本文为博主原创文章,未经博主允许不得转载。

redis保存数据的几种类型

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

将数据存入redis进行读取数据

  • haoyunyun888
  • haoyunyun888
  • 2016年07月06日 21:42
  • 12194

Redis缓存数据库

  • 2017年08月17日 19:43
  • 6.68MB
  • 下载

Redis数据类型及其操作

简介 redis默认端口是6379,自定义端口使用:reids-server –port 6380 关闭redis。在关闭redis前考虑到可能正在将内存中的数据同步到磁盘,强行关闭redis有...
  • Bactryki28
  • Bactryki28
  • 2016年10月19日 16:23
  • 2704

redis 各个数据类型常用操作

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

缓存数据库redis

  • 2016年05月02日 16:37
  • 1.21MB
  • 下载

redis

1: redis可以用来存储(数据存在内存中) 而memcached用来做缓存,是因为Redis有持久化功能。 Redis中存储的数据有多种数据结构(string,set , sorted set,...
  • Purpose1123
  • Purpose1123
  • 2018年01月22日 23:51
  • 14

Java操作Redis实现增删改查和基本操作

Java操作Redis实现增删改查和基本操作
  • szxiaohe
  • szxiaohe
  • 2016年10月26日 15:13
  • 3865

Redis操作记录

贴一些redis的基本操作,方便查阅。
  • soloph
  • soloph
  • 2014年09月09日 11:02
  • 789

redis内存数据的持久化方式

[+] 概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的。所以,我们需要将...
  • wzqzhq
  • wzqzhq
  • 2017年03月22日 16:21
  • 1988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis数字操作
举报原因:
原因补充:

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