Python操作Redis缓存数据库

发布时间:2025-08-31 21:07:49 作者:益华网络 来源:undefined 浏览量(0) 点赞(0)
摘要:今天我们来学习如何使用Python操作Redis缓存数据库,首先我们需要使用到一个redis库,使用之前先安装一下,依旧是使用pip进行安装: pip install redis 安装好了redis库之后,我们只需使用import redis导入即可使用了,是不是很方便呀,之

今天我们来学习如何使用Python操作Redis缓存数据库,首先我们需要使用到一个redis库,使用之前先安装一下,依旧是使用pip进行安装:

pip install redis

安装好了redis库之后,我们只需使用import redis导入即可使用了,是不是很方便呀,之前的文章里也用到很多库,大部分都是通过这两个步骤使用的;

接下来我们开始讲解如何操作Redis数据库,介绍一下Redis的五大数据类型:分别是字符串类型string、列表类型list、集合类型set、哈希类型hash、有序集合类型 sorted set

开启数据库

要注意我们操作之前需要先开启Redis数据库,我们上一篇文章《Redis的使用》里面有告诉我们如何安装Redis数据库,那我们现在先打开一个 命令窗口,使用 cd 命令切换目录到 redis 所在的目录运行

redis-server.exe redis.windows.conf

这时候另启一个命令窗口,原来的不要关闭,不然就无法访问服务端了,我们先试一下可不可以使用

# 设置键值对:setAngle20# 取出键值对:getAngle# 设置键值对:setclass a# 取出键值对:getclass

一、字符串类型string

我们先通过例子看一下如何使用string类型数据

import redis# 连接数据库client = redis.StrictRedis(host=localhost, port=6379, db=0)##### 单个stringresult = client.set(Mark,100)print(result)# 输出:Trueage = client.get(Mark)print(age.decode())# 输出:100##### 多个stringstudent ={name:zeng,age:22}result1 = client.mset(student)print(result1)# Truestu = client.mget([name,age])print(stu)# 输出:[bzeng, b22]##### 删除操作d = client.delete(name,age)print(d)# 2result = client.get(name)print(result)# None

上面的例子中分别对单个string、多个string进行了举例,其中涉及到赋值和取值的方法,我们来看一下具体的介绍:

set()方法:单个string操作方法,用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型;

get()方法:单个string操作,用于获取指定 key 的值,如果key不存在,返回nil,如果key储存的值不是字符串类型,返回一个错误;

decode()方法:这个大家应该都知道,用于解码;

mset():多个string操作,用于同时设置一个或多个key-value对;

mget():多个string操作,返回所有给定key的值;

delete():删除数据,可以根据key来指定删除数据;

二、列表类型list

import redisclient = redis.StrictRedis(host=localhost, port=6379, db=0)

lpush()方法:令将一个或多个值插入到列表头部,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作,当 key存在但不是列表类型时,返回一个错误;

注意:在Redis 2.4版本以前的 LPUSH 命令,都只接受单个 value 值; # 插入一个元素result = client.lpush(lsts,name)print(result)# 创建列表lsts =(name,age,class,score)# 插入多个元素result = client.lpush(lsts,*lsts)print(result)# 4 lrange()方法:返回列表中指定区间内的元素,区间以偏移量START和END指定,其中0表示列表的第一个元素,1表示列表的第二个元素,以此类推,以-1表示列表的最后一个元素, -2表示列表的倒数第二个元素,以此类推; # 先加入进入的元素在后面,后加入的元素在前面result = client.lrange(lsts,0,-1)print(result)# [bscore, bclass, bage, bname] lpop()方法:用于移除并返回列表的第一个元素; # 从左边删除一个元素result = client.lpop(lsts)print(result)# bscore

三、集合类型set

import redisclient = redis.StrictRedis(host=localhost, port=6379, db=0) sadd():将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略; sets =(name,age,class,score)result = client.sadd(new_sets,*sets)print(result)# 4 smembers():判断成员元素是否是集合的成员; result = client.smembers(new_sets)print(result) srem():用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略; result = client.srem(new_sets,address)print(result)# 1

四、哈希类型hash

import redisclient = redis.StrictRedis(host=localhost, port=6379, db=0) hset():用于为哈希表中的字段赋值 ,如果哈希表不存在,一个新的哈希表被创建并进行HSET操作; client.hset("hash1","k1","v1")client.hset("hash1","k2","v2") hkeys():用于获取哈希表中的所有域(field); print(client.hkeys("hash1"))# [bk1, bk2] hget():用于返回哈希表中指定字段的值; print(client.hget("hash1","k1"))# bv1 hmget():用于返回哈希表中,一个或多个给定字段的值; print(client.hmget("hash1","k1","k2"))# [bv1, bv2]

五、有序集合类型 sorted set

import redisclient = redis.StrictRedis(host=localhost, port=6379, db=0) zadd(name, *args, **kwargs):在name对应的有序集合中添加元素; d ={Join:20}result = client.zadd("zset1", d)print(result)# 1 zcard(name):获取name对应的有序集合元素的数量; result = client.zcard("zset1")print(result) zcount(name, min, max):获取name对应的有序集合中分数 在 [min,max] 之间的个数; client.zcount("zset1",0,1) zincrby(name, value, amount) :自增name对应的有序集合的 name 对应的分数; print(client.zincrby("zset1",1,20))

以上就是Redis的五大数据类型的基本用法的一些小实例,如果大家不懂的记得动手去尝试哟,特别是每种类型的方法都有很多,大家可以自行查看API~

官网地址:https://redis-py.readthedocs.io/en/latest/

参考学习:https://www.9xkd.com/user/plan-view.html?id=1087797436

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!