Redis 在python中的基本使用

1. 库安装与连接

安装

pip install redis
# 安装redis模块

连接

import redis

# 创建Redis连接对象,默认连接到本地的Redis服务器(127.0.0.1:6379)
r = redis.Redis()
# 也可以指定主机和端口进行连接
r = redis.Redis(host='localhost', port=6379)
# 连接到有密码保护的Redis服务器
# 如果Redis服务器设置了密码,需要在连接时提供密码:
 r = redis.Redis(host='localhost', port=6379, password='your_password')

端口可以在cmd开启redis服务端时查看,默认为6379

2. 基本操作

字符串操作

这里会更前面的内容有所重复,本文会选择各个数据类型的常用命令进行演示学习,也建议同学们动手自己试试。python

y = r.set("name","申宝啊")
# 这里在redis中设置了一个字符串键值对
# 其中y的返回值为:True
# 在前面的学习中我们了解到redis中字符串的设置会对相同键名进行覆盖,这里需要注意
y2 = r.get("name")
# 获取reids中的指定键值
# 这里返回的是b'\xe7\x94\xb3\xe5\xae\x9d\xe5\x95\x8a',前面的学习中我们也知道redis中的字符串是二进制安全的,即在reids中键和值可以是任意字节序列,他不会对数据做特殊的解释和限制,除了字符串长度限制512M

列表操作

r.delete('mylist')
v = r.lpush('mylist','1',1,2,10)
v2 = r.lrange('mylist',0,-1)
v3 = r.lpop('mylist')
print(v,v2,v3)
# 4 [b'10', b'2', b'1', b'1'] b'10'
v4 = r.lpush('mylist','hello')
v5 = r.rpush('mylist','world')
v6 = r.lpop('mylist')
v7 = r.rpop('mylist')
v8 = r.linsert('mylist','before','10','hhh')
v9 = r.lrange('mylist',0,-1)
# 4 5 b'hello' b'world' -1 [b'2', b'1', b'1']
print(v4,v5,v6,v7,v8,v9)

集合操作

r.delete('myset')
v1 = r.sadd('myset',1,2,3,8,12,45)  # 插入集合数据
v2 = r.spop('myset')                # 随机获取一个元素
v3 = r.srem('myset',12)             # 移除指定的元素
v4 = r.sismember('myset','hello')   # 判断元素是否在集合中
v5 = r.scard('myset')   			# 返回集合长度
v6 = r.smembers('myset')  			# 查看集合中所有元素
print(v1,v2,v3,v4,v5,v6)
# 6 b'8' 1 0 4 {b'1', b'45', b'3', b'2'}
v7 = r.sadd('myset2',2,5,9,12,45)
v8 = r.sdiff('myset','myset2') # 差集
v9 = r.sinter('myset','myset2') # 交集
v10 = r.sunion('myset','myset2') # 并集
# 5 {b'3', b'8', b'1'} {b'2'} {b'3', b'45', b'2', b'5', b'8', b'9', b'1', b'12'}

哈希操作

r.delete('myhash')
data = {
    'user': '申宝啊',
    '语言': '中文',
    '技术': 'python',
    'numb': 1
}
v1 = r.hset('myhash',mapping=data)  # 设置hash值
v2 = r.hget('myhash','user')    # 获取指定hash值
v3 = r.hmget('myhash','user','技术') # 一次获取多个hash值
v4 = r.hincrby('myhash','numb',2) # 按照指定的步长自增,减少是hdescby
v5 = r.hget('myhash','numb') # 再查看增加后的值
v6 = r.hexists('myhash'1) # 查看是否包含指定对象
v7 = r.expire('myhash',5) # 设置对象的过期时间为5秒
time.sleep(5)
v8 = r.hvals('myhash')  # 获取hash中素有元素的值

print(v1,v2,v3,v4,v5,v6,v7)

有序集合操作

data = {
    '语文':98,
    '数学':88,
    '英语':95,
    '科学':100,
}
v1 = r.zadd('sset',data)   # 向有序集合中添加值
v2 = r.zrange('sset',0,-1)  # 获取集合中所有值
v2 = [i.decode('utf-8') for i in v2] # 对获取到的值进行编码

v3 = r.zscore('sset','语文') # 查看语文的值
v4 = r.zrem('sset','科学') # 删除掉科学项
v5 = r.zincrby('sset',5,'英语') # 给英语科目的值增加5
v6 = r.zrevrangebyscore('sset',95,0) # 从大到小查询分数在0-95之间的所有元素
v6 = [i.decode('utf-8') for i in v6]
print(v1,v2,v3,v4,v5,v6)
# 4 ['数学', '英语', '语文', '科学'] 98.0 1 100.0 ['数学']

后续的学习会结合相关案例,并逐渐了解redis特性,更新也会减缓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值