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')