Skip to content

LinYsssss/RedisCard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于Redis的校园一卡通消费系统

项目简介

本系统是一个基于 Redis 数据库的校园一卡通消费管理系统,实现了账户管理、消费记录、充值记录、排行统计、安全控制等功能。

技术特点

功能 Redis 数据结构 优势
账户信息 Hash 支持单字段原子操作 HINCRBY
消费/充值记录 List + Hash 天然时间序列,LPUSH 高效
消费排行榜 Sorted Set O(log N) 实时排名
黑名单 Set O(1) 快速判断 SISMEMBER

目录结构

RedisCard/
├── config.py           # Redis 配置与常量定义
├── main.py             # 主程序(交互式菜单)
├── models/
│   ├── account.py      # 账户管理模块
│   ├── consume.py      # 消费记录模块
│   ├── recharge.py     # 充值记录模块
│   ├── ranking.py      # 排行统计模块
│   └── security.py     # 安全功能模块
├── utils/
│   └── helpers.py      # 工具函数
├── tests/
│   └── test_all.py     # 测试脚本
└── README.md           # 项目说明

环境要求

  • Python 3.7+
  • Redis 5.0+
  • redis-py 库

安装与运行

# 1. 安装依赖
pip install redis

# 2. 确保 Redis 服务运行
redis-server

# 3. 运行主程序
cd f:\RedisCard
python main.py

功能模块

1. 账户管理(必做)

  • 创建账户:create_account(student_id, name)
  • 查询余额:get_balance(student_id)
  • 充值:recharge(student_id, amount)
  • 扣费:consume(student_id, amount)
  • 冻结/解冻:freeze_account() / unfreeze_account()

2. 消费记录(必做)

  • 记录消费:add_consume_record()
  • 查询历史:get_consume_history()
  • 类别统计:get_category_stats()

3. 充值记录(必做)

  • 记录充值:add_recharge_record()
  • 查询历史:get_recharge_history()

4. 排行统计(加分)

  • 消费排行榜:get_consume_ranking(top_n)
  • 个人排名:get_my_ranking(student_id)
  • 消费冠军:get_top_consumer()

5. 安全功能(加分)

  • 黑名单管理:add_to_blacklist() / is_blacklisted()
  • 交易限额:set_daily_limit() / check_daily_limit()
  • 余额预警:check_low_balance()

Redis 命令示例

# 创建账户
HSET user:2021001 name "张三" balance 10000 status "active"

# 充值(原子操作)
HINCRBY user:2021001 balance 5000

# 消费排行榜
ZREVRANGE ranking:consume:total 0 9 WITHSCORES

# 检查黑名单
SISMEMBER blacklist:users "2021001"

作者

课程设计 - 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages