redis教程
redis Increment详细介绍
时间:2024-01-11
Redis是一个高性能的key-value存储系统,多种数据结构。众所周知,redis常被用来用作缓存,因为其数据都存储与内存之中,并具有数据持久化机制,可以大大减少数据库的访问压力。但除此之外,redis由于其独特的设计和丰富的数据类型,可以帮助我们解决很多问题。
核心:Redis所有单个命令的执行都是原子性的,这与它的单线程机制有关。
一、介绍
Redis Increment命令可以用于key中存储的值的自增操作,如果key不存在,则创建key并将值设置为0,然后执行increment操作,如果key存储的值不是整数型,则返回错误信息。
redis increment命令可用于多种情况,如计数器、票据系统、排名系统等。
INCR命令将key中存储的值加1,如果key不存在,则创建新的key并设置值为0,然后对其执行increment操作。返回自增后的值。
INCR示例:
SET key 10 INCR key get key //输出11 |
二、INCRBY和INCRBYFLOAT。
INCRBY命令将key中存储的值加上指定的整数值。如果key不存在,则创建新的key并设置值为0,然后对其执行increment操作。返回自增后的值。
INCRBYFLOAT命令将key中存储的值加上指定的浮点数值。如果key不存在,则创建新的key并设置值为0,然后对其执行increment操作。返回自增后的值。
//INCRBY SET key 10 INCRBY key 5 get key //输出15 //INCRBYFLOAT SET key 10.50 INCRBYFLOAT key 5.0 get key //输出15.5 |
三、springboot使用
1、数据类型,Redis Increment命令只支持整数和浮点数类型的值。如果key存储的不是整数或浮点数,自增操作会失败。
2、结合springboot例子:
由于是原子操作,结合springboot可以做很多事情,比如库存的处理、防止频繁访问等等。
stringRedisTemplate.opsForValue().increment(key, 0);//负数为减去,可以是long或double |