Python实现Redis存储在线书店书籍库存,含异常处理与输入校验
```python import redis def add_book(title, author, quantity): # 连接 Redis 数据库 r = redis.Redis(host='localhost', port=6379, db=0) # 检查书籍是否已存在 if r.exists(title): # 如果存在,更新库存数量 old_quantity = int(r.get(title).decode('utf-8').split(',')[2]) new_quantity = old_quantity + quantity r.set(title, f"{title},{author},{new_quantity}") else: # 如果不存在,添加新的书籍信息 r.set(title, f"{title},{author},{quantity}") ``` 额外需要注意的逻辑点: 1. 要处理 Redis 连接异常的情况,比如连接失败。 2. 对于输入的书名、作者和数量,要进行适当的合法性校验,比如书名和作者不能为空,数量必须是正整数。 3. 考虑添加日志记录,以便在出现问题时进行排查。 ######[AI写代码神器 | 227点数解答 | 2024-12-18 23:01:52]
相关提问
- "Scrapy-Redis-Sentinel 0.7.1 Version Conflict: How to Resolve Redis and Redis-Py-Cluster Mismatch"(阿里通义 | 245点数解答 | 2024-03-01 14:08:38)326
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)496
- Java实现有序集合合并与交集算法(顺序表+单链表)(百度文心 | 1247点数解答 | 2026-03-25 10:35:22)28
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)89
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)449
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)440
- Python 代码:从错误到正确,精准找出指定范围内素数!(字节豆包 | 295点数解答 | 2024-11-14 19:32:40)249
- bookmanage 数据库表创建、测试数据添加及多需求 SQL 操作全解析(GPT | 909点数解答 | 2024-06-22 22:25:19)421
- WinForm实现图书管理系统:数据库操作、界面设计与功能全解析(GPT | 1163点数解答 | 2024-06-22 22:26:42)379
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)486
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)289