初学Redis,做一个固定数据的写死页面,每次从MySQL数据库取值实在是太慢,故选用redis存取。
1、连接数据库:
import redis
# 与本地redis进行链接,地址为:localhost,端口号为6379
r = redis.StrictRedis(host='地址', port=端口号,password='密码')
2、存数据:将需要存储的数据存在redis数据库(此处存储的是list列表类型【增删快、链式结构、按插入顺序排序】)
#这里我要将list列表保存在redis中,先遍历,然后一个一个从右边(后面追加)推进redis数据库中
for item in result:
#在name对应的list中添加元素,每个新的元素都添加到列表的最右边
#数据都保存在数据库名字叫“key”的键里
lpush = r.rpush(key,item)
#推进一条返回当前行数,未成功则返回0
print("推进去redis", lpush)
3、取数据:
import json
#从redis中取出数据
#lrange:list列表类型的取出语法,后面跟0,-1 代表取出全部。
result = r.lrange(key_private_list , 0, -1)
#定义一个空列表存储取出的元素
reallyresult=[]
#遍历取出的全部数据,实际上是列表类型的bytes数据类型
for item in result:
try:
#要对bytes数据进行转义,str(item, encoding='utf-8')先转成字符串
#replace("'", "\"").replace("\n", "")将'替换成"方便json转义,True,False同理
item = str(item, encoding='utf-8').replace("'", "\"").replace("\n", "").replace("True", "true").replace("False", "false")
#json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
item = json.loads(item)
#空列表追加数据
reallyresult.append(item)
except Exception as err:
#抛出错误
raise err
#最后得到的reallyresult是取出的列表。
以上只是redis的value是list列表类型的数据存取,String、Set等数据类型同理。