python操作redis
说明:{}里面的文字是详细说明,可不用看
导入包,连接redis
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0)
一、操作字符串
1.添加一个字符串到redis中,用set方法{属性有set(name, value, ex=None, px=None, nx=False, xx=False)ex过期时间s,px过期时间ms,nx为True表示name不存在时才执行,xx为True表示name存在时才执行}
r.set('name','zhangsan')
2.读取字符串{读取出来是bytes类型的数据 b'zhangsan',加上解码}
结果
print(r.get("name").decode('utf-8'))
结果:zhangsan
二、操作列表{不全,基本够用}
1.添加列表到redis中,用 rpush方法(也可以使用lpush,一个是向左一个是向右,个人习惯用rpush)
r.rpush("my_list",'zhangsan','lisi','wangwu')
2.读取列表
print(r.lrange("my_list" , 0 , -1))
结果:[b'zhangsan', b'lisi', b'wangwu']
3.获取列表长度
r.llen('my_list')
结果:3
4.替换列表中对应索引的元素用lset,如:把列表my_list中的第二个元素lisi替换长zhaoliu
r.lset('my_list',1,'zhaoliu')
print(r.lrange("my_list" , 0 , -1))
结果:[b'zhangsan', b'zhaoliu', b'wangwu']
5.通过列表索引取值
print(r.lindex('my_list','1'))
结果:b'zhaoliu'
三、Set集合操作
1.创建集合sadd
r.sadd('sex','11','22','33')
2.查看集合smembers
print(r.smembers('sex'))
结果:{b'33', b'11', b'22'}
3.获取集合中元素个数scard
print(r.scard('sex'))
结果:3
4.检查value是不是集合中的元素sismember
print(r.sismember('sex','11'),r.sismember('sex','1'))
结果:True False
四、有序集合操作
1.创建有序集合zadd
r.zadd('zsex', {'aa':100, 'bb':99, 'cc':87})
2.获取所有的元素
print(r.zscan('zsex'))
结果:(0, [(b'cc', 87.0), (b'bb', 99.0), (b'aa', 100.0)])
3.获取元素个数
print(r.zcard('zsex'))
结果:3
4.获取指定元素值
print(r.zscore(name="zsex",value='bb') )
结果:99.0
五、Hash
1.创建
r.hset(name='python',key='key1',value='value1')
2.取key
print(r.hkeys('python'))
结果:[b'key1']
3.取value
print(r.hvals('python'))
结果:[b'value1']
六、删除
r.delete('my_list')