redis与python交互

博客介绍了Redis安装包的三种安装方式,还提到创建虚拟环境并安装Redis。重点阐述了Redis与Python的交互,包括引入模块、通过对象连接数据库、给出示例,以及使用连接池连接到Redis,还提及了redis.Redis和redis.StrictRedis的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装包

第一种方式:

pip3 install redis

第二种方式:

easy_insatll redis

第三种方式:

wget https://ithub.com/andmccurdy/redis-py/archive/master.zip
unzip master.zip
cd redis-py-master
sudo python setup.py install
  • 创建虚拟环境
    在这里插入图片描述
  • 安装redis
    在这里插入图片描述

与python交互

(1)引入模块

from redis import *
  • StrictRedis
  • 通过init创建对象,指定参数为host,port与指定的服务器和端口连接,host默认为localhostpost默认为6379db默认为0

(2)通过StrictRedis对象连接redis数据库

sr = StrictRedis(host='localhost', port=6379, db=0, password=password) 

可以简写为

sr = StrictRedis(password=password)
  • sr实例化对象方法:
string
set(name, value, ex=None, px=None, nx=False, xx=False)设置键值
setex(name, value, time)设置键值与秒过期时间
psetex(name, time_ms, value)设置键值与毫秒过期时间
mset(*args, **kwargs)同时设置多个键值
append(key, value)在value后面追加内容
strlen(name)获取value长度
incr(name, amount=1)对name的value进行自增,如果name不存在则创建,否则自增
incrbyfloat(name, amount=1.0)同上,支持浮点数自增
decr(name, amount=1)自减,同自增一样,如果进行自减的value不是整数就报错
getrange(key, start, end)通过索引的方式来获取value
setrange(name, offset, value)根据索引修改value
get(name)获取单个值
mget(keys, *args)获取多个值
keys
exists(name)判断键是否存在
type(name)判断键对应值得类型
delete(*names)删除键值
expire设置键值过期时间
rename(src, dst)重命名键
randomkey()随机获取一个redis的name,不进行删除
ttl(name)查看过期时间
hash
hset(name, key, value)设置name的键值对,有则修改,没有则创建
hmset(name, mapping)同时设置多个name的key/value
hkeys(name)获取name中所有的key
hvals(name)获取name中所有的value
hget(name, key)获取name中key的值
hmget(name, keys, *args)同时获取name的多个值
hgetall(name)获取name对应的所有key/value,返回字典形式
hlen(name)获取name对应键值对的个数
hexists(name, key)检查当前name中是否有传入的key
hdel(name, key)删除name中对应的key
hincrby(name, key, amount=1)name中key对应的value进行自增,如果不存在则创建
hincrbyfloat(name, key, amount=1.0)value自增,支持浮点数,同上
list
lpush(name, *values)在最左边添加值
rpush(name, *values)在最右边添加值
lpushx(name, value)只有name已经存在时,值添加到列表的最左边
rpushx(name, value)只有name已经存在时,值添加到列表的最右边
linsert(name, before/after, refvalue, value)在name的某一个值前面或者后面插入一个新值
lrange(name, start, end)使用切片获取数据
lpop(name)删除name中左侧第一个元素,并返回值
rpop(name)删除name中右侧第一个元素,并返回值
lindex(name, index)获取name中对应索引的值
ltrim(name, start, end)在name对应的列表中移除没有在start-end索引之间的值
llen(name)获取name元素的个数
lset(name, index, value)对name中index索引位置的值进行重新赋值
lrem(name, value, num=0)删除指定value后面或者前面的值
rpoplpush(src, dst)从src列表中取出最右边的元素,同时将其添加至dst列表的最左边
set
sadd(name, *values)为name添加值,如果存在则不添加
smembers(name)获取name集合中所有的成员
srem(name, *values)删除name集合中的values数据
scard(name)返回name的元素数量
sdiff(keys, *args)在keys集合中不在其他集合中的数据
sdiffstore(dest, keys, *args)在keys集合中不在其他集合中的数据保存到dest集合中
sinter(keys, *args)获取keys集合中与其他集合中的并集
sinterstore(dest, keys, *args)获取keys集合中与其他集合中的并集数据并保存到dest集合中
sismember(name, value)获取value是否是name集合中的成员
smove(src, dst, value)将src中的value移动到dst中
spop(name)删除并返回name中的随机成员
srandmember(name, number=None)随机获取name集合中的number个成员,默认number=1
sunion(keys, *args)获取keys集合与其他集合的并集
sunionstore(dest, keys, *args)获取keys集合与其他集合的并集并保存到dest中
zset
zadd(name, *args, **kwargs)将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素
zcard(name)返回有序集合name元素的数量
zcount(name, min, max)返回在name中值在min与max之间的值个数
zincrby(name, value, amount=1)name中让value的值加上amount
zrem(name, *values)删除name中对应的values
zremrangebyrank(name, min, max)根据排行范围进行删除
zremrangebyscore(name, min, max)根据分数范围进行删除
zscore(name, value)返回指定value的值是多少
zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float)返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列

(3)示例

import redis 


两种方式都可以,推荐使用第一种

conn = redis.StrictRedis(host='localhost', port=6379)
conn = redis.Redis(host='localhost', port=6379)

在这里插入图片描述
(4)使用连接池连接到Redis

pool = redis.ConnectionPool(host='192.168.56.100', port=6379)
conn = redis.StrictRedis(connection_pool=pool)

redis.Redis和redis.StrictRedis区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值