python学习

Python学习打call第五十二天:Python操作Redis

2019-04-04  本文已影响16人  暖A暖

今天我们来学习如何使用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

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

# 设置键值对:
set Angle 20

# 取出键值对:
get Angle 

# 设置键值对:
set class a

# 取出键值对:
get class

一、字符串类型string

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

import redis
# 连接数据库
client = redis.StrictRedis(host='localhost', port=6379, db=0)

##### 单个string
result = client.set('Mark', 100)
print(result)    # 输出:True
age = client.get('Mark')
print(age.decode())   # 输出:100

##### 多个string
student = {
    'name': 'zeng',
    'age': '22'
}
result1 = client.mset(student)
print(result1)   # True
stu = client.mget(['name', 'age'])
print(stu)   # 输出:[b'zeng', b'22']

##### 删除操作
d = client.delete('name', 'age')
print(d)  # 2
result = client.get('name')
print(result)  # None

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

二、列表类型list

import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
# 插入一个元素
result = client.lpush('lsts', 'name')
print(result)

# 创建列表
lsts = ('name', 'age', 'class', 'score')

# 插入多个元素
result = client.lpush('lsts', *lsts)
print(result)    # 4
# 先加入进入的元素在后面,后加入的元素在前面
result = client.lrange('lsts', 0, -1)
print(result)   # [b'score', b'class', b'age', b'name']
# 从左边删除一个元素
result = client.lpop('lsts')
print(result)    # b'score'

三、集合类型set

import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
sets = ('name', 'age', 'class', 'score')
result = client.sadd('new_sets', *sets)
print(result)  # 4
result = client.smembers('new_sets')
print(result)
result = client.srem('new_sets', 'address')
print(result)   # 1

四、哈希类型hash

import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
client.hset("hash1", "k1", "v1")
client.hset("hash1", "k2", "v2")
print(client.hkeys("hash1"))    # [b'k1', b'k2']
print(client.hget("hash1", "k1"))     # b'v1'
print(client.hmget("hash1", "k1", "k2"))    # [b'v1', b'v2']

五、有序集合类型 sorted set

import redis
client = redis.StrictRedis(host='localhost', port=6379, db=0)
d = {'Join': '20'}
result = client.zadd("zset1", d)
print(result)  # 1
result = client.zcard("zset1")
print(result) 
client.zcount("zset1", 0, 1)
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

上一篇 下一篇

猜你喜欢

热点阅读