redis与python交互中,列表数据出现的问题
1、在对字符串操作时:
redis_db.py是封装的redis连接池
# 业务逻辑处理部分:
import redis from redis_db import pool con = redis.Redis( connection_pool=pool ) con.mset({'country': '中国', 'city': '乌鲁木齐'}) res = con.mget('country', 'city') for i in res: print(i.decode('utf-8')) con.delete('country', 'city') del con
# 多次执行业务逻辑部分的代码,最终结果生成记录不会累积,始终是2个记录
2、在对列表数据进行操作时
redis_db.py是封装的redis连接池
# 业务逻辑处理部分:
import redis from redis_db import pool con = redis.Redis( connection_pool=pool ) try: # con.delete('dname') con.rpush('dname', '董事会', '秘书处', '售后部', '技术部') con.lpop('dname') result = con.lrange('dname', 0, -1) for i in result: print(i.decode('utf-8')) except Exception as e: print(e) finally: del con
# 多次执行业务逻辑部分的代码,结果会随着执行次数,不断累积。必须在每次执行前,delete掉dname,最终结果才会正确。
## 不加delete,多次执行结果:
## 加delete,多次执行结果:
请问,为什么字符串和列表的数据操作,字符串不添加delete,多次执行,结果不会累积;列表的多次执行,不添加delete,就会出现数据累积,为什么会有这么大的区别?
9
收起
正在回答 回答被采纳积分+1
1回答
Python全能工程师
- 参与学习 人
- 提交作业 16233 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星