概述
今天我们来学习如何使用Python操作Redis缓存数据库,首先我们需要使用到一个redis库,使用之前先安装一下,依旧是使用pip进行安装:
pip install redis
安装好了redis库之后,我们只需使用import redis
导入即可使用了,是不是很方便呀,之前的文章里也用到很多库,大部分都是通过这两个步骤使用的;
接下来我们开始讲解如何操作Redis数据库,我们先了解一下Redis的五大数据类型有哪些呢?其实也就是字符串类型string
、列表类型list
、集合类型set
、哈希类型hash
、有序集合类型 sorted set
这五种啦~
###开启数据库
要注意我们操作之前需要先开启Redis数据库,我们上一篇文章《Redis的使用》里面有告诉我们如何安装Redis数据库,但是我个人使用的是Winginx,这个是一个套装,集成了我们要用的几个数据库,比如Redis、MySQl、MongoDB等,方便用于本地测试,下载地址为https://winginx.com/en/download
一、字符串类型string
# 连接数据库
import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
student1 = {
'name': 'Angle',
'age': 18,
}
set()方法
:单个string操作方法,用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型;
result = client.set('Angle',18)
print(result)
get()方法
:单个string操作,用于获取指定 key 的值,如果key不存在,返回nil,如果key储存的值不是字符串类型,返回一个错误;
decode()方法
:解码;
age = client.get('Angle')
print(age.decode())
- mset():多个string操作,用于同时设置一个或多个key-value对;
result = client.mset(student1)
print(result)
- mget():多个string操作,返回所有给定key的值;
result = client.mget(['name', 'age'])
print(result)
- delete():删除数据,可以根据key来指定删除数据;
result = client.delete('name', 'age')
print(result)
二、列表类型list
import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
lpush()方法
:令将一个或多个值插入到列表头部,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作,当 key存在但不是列表类型时,返回一个错误;
注意:在Redis 2.4版本以前的 LPUSH 命令,都只接受单个 value 值;
result = client.lpush('lsts', 'name')
print(result)
lrange()方法
:返回列表中指定区间内的元素,区间以偏移量START和END指定,其中0表示列表的第一个元素,1表示列表的第二个元素,以此类推,以-1表示列表的最后一个元素, -2表示列表的倒数第二个元素,以此类推;
result = client.lrange('lsts', 0, -1)
print(result)
lpop()方法
:用于移除并返回列表的第一个元素;
result = client.lpop('lsts')
print(result)
三、集合类型set
import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
- sadd():将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略;
sets = ('name', 'age', 'hobby', 'address')
result = client.sadd('new_sets', *sets)
print(result)
- smembers():判断成员元素是否是集合的成员;
result = client.smembers('new_sets')
print(result)
- srem():用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略;
result = client.srem('new_sets', 'address')
print(result)
四、哈希类型hash
import redis
client = 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"))
- hget():用于返回哈希表中指定字段的值;
print(client.hget("hash1", "k1"))
- hmget():用于返回哈希表中,一个或多个给定字段的值;
print(client.hmget("hash1", "k1", "k2"))
五、有序集合类型 sorted set
import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
- zadd(name, *args, **kwargs) :在name对应的有序集合中添加元素;
d = {'Angle': '18'}
client.zadd("zset1", d)
- zcard(name):获取name对应的有序集合元素的数量;
client.zcard("zset1")
- zcount(name, min, max):获取name对应的有序集合中分数 在 [min,max] 之间的个数;
client.zcount("zset1", 0, 1)
- zincrby(name, value, amount) :自增name对应的有序集合的 name 对应的分数;
client.zincrby("zset1", 1, '18')
以上就是Redis的五大数据类型的基本用法,如果大家不懂的记得动手去尝试哟,特别是每种类型的方法都有很多,大家可以自行查看API~
参考学习:https://www.9xkd.com/user/plan-view.html?id=1087797436
最后
以上就是包容汉堡为你收集整理的Day52:Python操作Redis缓存数据库的全部内容,希望文章能够帮你解决Day52:Python操作Redis缓存数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复