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全能工程师
- 参与学习 人
- 提交作业 16416 份
- 解答问题 4469 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星