python语言,连接redis库时,遇见的坑

 nadia     2020-06-01     1402     0   

欢迎来到银盒子的世界~

语言还是用的python,连接数据库的时候,用了redis这个扩展包,结果连接的时候,用lrem命令的时候,出错的

从百度上找到的命令是下边这样的

图片.png

说lrem接受三个参数,name和value和num。但是我使用的时候一直报错,说没有这个num的值,然后我点进去这个函数,发现他接受的值和我查到的文档不一致,他的count就于num类似,但是参数是放在中间位置的,如下图

图片.png


后来发现,是我安装的python的扩展包不一样,

图片.png是一个

我用的是这个图片.png

再附上一个大致的参数文档


from redis import StrictRedis  #导包
r.StrictRedis(decode_responses=True)  #连接redis数据库
redis_methods=dir® #查看redis中所有的方法
r.set(‘name’,‘marine’)
r.get(‘name’)
#1.String类型
r.mset({‘a1’:‘33’,‘a1’:‘88’}) #创建多个key值
r.mget([‘name’,‘a1’]) #读取多个
r.incr(‘a1’,1)#increment增量 [34]
r.incrby(‘a8’,‘44’) #新增key值
r.decr(‘a8’,‘2’)  #减 [8]
r.append(‘name’,‘hello’)  #追加指定值之后, key 中字符串的长度
r.strlen(‘name’)  #key中字符串的长的长度

#2.键命令key
r.key(‘a*’) #查找a开头的key [a1,a2,a8]
r.exists(‘a1’) #返回存在的key的个数 可以支持多个
r.type(‘a1’) #返回key的数据类型  [string]
r.delete(‘a1’) #删除
r.expire(‘a2’,10)#设置key的过期时间,10s后过期
r.ttl(‘a2’) #查询a2的过期时间

#3.对象hash
r.hset(‘people’,‘name’,‘marine’) #设置字典类型的键值对
r.hget(‘people’,‘name’)#获取字典的key值[marine]
r.hmget(‘people’,[‘name’,‘age’])#key=list类型,多个变量
r.hgetall(‘people’)#字典形式返回people中所有的值
r.key() #返回所有key
r.hkey(‘people’) #获取所有的键
r.hvals(‘people’) #获取所有的值
r.hlen(‘people’) #获取字典长度
r.hexists(‘people’,‘age’) #查看age键是否存在[True]
r.hdel(‘people’,‘age’) #删除age键
r.hstrlen(‘people’,‘age’) #获取age键的长度

#4.列表list
r.lpush(‘like’,‘apple’,‘orange’) #values,是一个或者多个[2]
r.lpop(‘like’)#删除最后一个元素[orange]
r.rpop(‘like’) #删除第一个元素[apple]
r.lrange(‘like’,0,-1)#获取所有元素
r.rpush(‘like’,‘1’,‘2’)#在前面添加元素[2,1,apple,orange]
r.linsert(‘like’,‘after’,‘orange’,‘x’)#在list之后插入一个元素[2,1,apple,orange,x]
r.lset(‘like’,0,‘99’)#修改下标0的值[99,1,apple,orange,x]
r.llen(‘like’) #获取list长度[5]
r.lindex(‘like’,0)#获取列表下标0的值[99]
r.ltrim(‘like’,0,1)#删除不在范围内的元素[99,1]

#5.无序集合set
r.sadd(‘ids’,‘101’,‘101’,‘102’,) #set集合类型,不可重复,没有顺序
r.sadd(‘ids2’,‘100’,‘101’,‘102’)
r.smember(‘ids’) #查看集合元素[{101,102}]
r.scard(‘ids’) #返回集合的个数[2]
r.sinter(‘ids’,‘ids2’) #几个集合的并集(重叠的元素)[{101,102}]
r.sdiff(‘ids2’,‘ids’) #后面的元素不包含前面的元素[{100}]
r.sunion(‘ids’,‘ids2’) #多个集合的组合[{100,101,102}]
r.sismember(‘ids’,‘88’) #查看88是否在集合中[false]

#6.有序集合zset
r.zadd(‘myids’,{‘zs’:‘8’,‘mr’:‘10’,‘ls’:‘9’})#添加可以排序的的集合
r.zrange(‘myids’,0,-1)#获取key中所有的value[zs,mr,ls]
r.zcard(‘myids’) #长度
r.zcount(‘myids’,8,10) #范围内有多少元素
r.zscore(‘myids’,‘mr’) #返回列表中 mr的分值 [10.0] 浮点类型

#7.服务器配置
ls=r.config_get("*")#查看所有
r.config_get(‘dbfilename’)#数据库名称
r.config_get(‘databases’)#数据库的个数
r.config_get(‘port’)#端口
r.config_get(‘bind’)#绑定地址
r.config_get(‘maxclients’)#支持一万个用户连接
r.config_set(‘maxclients’,‘9999’)#修改连接数


发表评论