redis之计数器:自增、自减
incr key: 将key中储存的数字值增1,并返回值
decr key: 将key中储存的数字值减1,并返回值
set num 1
incr num
@Controller("user_controller")
@RequestMapping("/user")
public class UserController{
@Autowired
private RedisService redisService;
private ReentrantLock lock = new ReentrantLock();
@RequestMapping("/")
public String list(Model model,HttpServletResponse response) {
lock.lock();
Long total = Long.valueOf(redisService.get("total"));
System.out.println("num="+num+",total="+total);
if(num<=total) {
Long num = redisService.incr("product.num");
}else{
System.out.println("num over!");
}
lock.unlock();
return "index";
}
}
@Service
public class RedisService {
@Autowired
private JedisPool jedisPool;
public Long incr(String key) {
Jedis j=null;
try{
j=jedisPool.getResource();
return j.incr(key);
}finally{
j.close();
}
}
public String get(String key) {
Jedis j=null;
try{
j=jedisPool.getResource();
return j.get(key);
}finally{
j.close();
}
}
}
分享到:
相关推荐
而"Go-rerate-Go基于Redis的计数器和速率限制器"是一个专门为Go开发者设计的工具,它利用Redis作为数据存储,实现了计数器功能和速率限制功能,对于网络应用的流量控制和资源保护至关重要。 计数器是软件系统中常见...
这个类通常会封装Redis的连接操作和 incr 方法,用于执行计数器的增加操作。`incr`是Redis的一个命令,它会原子性地将指定键的值加1,这在处理并发场景时非常有用,因为它避免了多线程或多个客户端同时更新计数器...
本文将详细探讨如何利用Redis这一高效、轻量级的内存数据存储系统来实现高并发计数器。 Redis是一个开源的、基于键值对的数据结构服务器,它支持多种数据类型,如字符串、哈希、列表、集合和有序集合等。其中,...
在本文中,我们将专注于如何利用 Redis 的计数器功能来实现防止刷单的安全策略。 计数器是 Redis 中的一个基本操作,通过 `INCR` 命令可以原子性地增加一个键的数值。例如,当你想限制接口的请求频率,如每秒不超过...
使用 Redis 提供的基本数据类型就能实现汇总计数器,通过 incr 命令实现增加操作。 比如注册用户数,基本操作命令如下: 代码如下: # 获取注册用户数 get total_users # 注册用户数增加一位 incr total_...
在这个计数器模块中,Redis被用作缓存,用于快速增加和查询计数。由于Redis支持原子操作(如INCR命令),所以可以确保在高并发环境下计数的准确性。此外,Redis还提供了持久化机制,确保即使在服务器重启后,数据也...
本文实例讲述了PHP基于redis计数器类定义...1.Redis计数器类代码及演示实例 RedisCounter.class.php <?php /** * PHP基于Redis计数器类 * Date: 2017-10-28 * Author: fdipzone * Version: 1.0 * * Descripto
"Redis 使用 Watch 机制实现秒杀抢购思路" Redis Watch 机制 在高并发的秒杀抢购场景中,如何确保数据的一致性和安全性是非常重要的。Redis 的 Watch 机制可以很好地解决这个问题。Watch 机制是 Redis 的一种乐观...
Redis是世界上最受欢迎的内存数据存储系统之一,常用于构建高性能、低延迟的数据缓存和数据库。RedisDesktopManager是一款跨平台的图形用户界面(GUI)工具,使得开发者和管理员能够便捷地管理和操作Redis服务器,...
这些数据结构使得Redis在处理各种应用场景时更加灵活,比如缓存、消息队列、计数器等。 3. **持久化**:为了防止数据丢失,Redis提供了两种持久化方式:RDB(快照)和AOF( Append Only File)。RDB是在特定时间点...
它广泛应用于缓存、消息队列、计数器、实时统计等多种场景,以其高速读写能力和丰富的数据结构著称。 **Redis 6.2.6版本更新** Redis 6.2.6是Redis的一个稳定版本,包含了一些重要的改进和修复。这些更新可能涉及...
3. 计数器应用 – Redis天然支持计数功能而且计数的性能也非常好,可以说是计数器系统的重要选择。 4. 社交网络 – Redis提供的数据结构可以相对比较容易地实现社交网站的必备功能,如赞/踩、粉丝、共同好友/喜好、...
Redis是一种高性能的键值对数据存储系统,常用于缓存、消息队列、计数器等场景。本文将深入探讨Redis的基本概念、工作原理、存储机制,并总结一些常见的面试问题。 1. Redis基本概念: - 数据类型:Redis支持五大...
Redis支持多种数据类型,如字符串、哈希、列表、集合和有序集合,这使得它非常适合处理多种场景,如缓存、计数器、队列等。此外,Redis还提供了事务、发布/订阅、Lua脚本等功能,增强了其实用性和灵活性。 在...
- **计数器**:利用Redis的原子操作,可以轻松地实现对访问量、点击率等数据的计数。 - **限流**:通过设置队列或滑动窗口算法,可以限制系统的并发请求,防止过载。 - **队列**:Redis的列表数据结构可以作为简单的...
首先,Redis是一个高性能的键值存储系统,广泛应用于缓存、消息队列、计数器等多个领域。RedisPlus作为其增强版,不仅保留了原生Redis的所有特性,还添加了一些实用功能,如图形化界面管理、监控、报警等功能,使得...
- **计数器**:例如统计网站访问量、用户行为等。 - **排行榜**:利用有序集合实现动态更新的排行榜。 - **消息队列**:通过发布/订阅模型,实现消息传递。 - **分布式锁**:利用单个键的原子操作,实现跨进程或跨...