redis其他 通用操作,管道

通用操作

'''
delete(*names)
exists(name)
keys(pattern='*')
expire(name ,time)
rename(src, dst)
move(name, db))
randomkey()
type(name)

'''
import redis
conn=redis.Redis()
# delete(*names)
# conn.delete('name','name1','hash1')

# exists(name)
# print(conn.delete('name'))
# print(conn.delete('age'))

# keys(pattern='*')  # 打印所有key      * 和  ?
# print(conn.keys())
# print(conn.keys('us*'))
# print(conn.keys('age?'))

# expire(name ,time)
# conn.expire('age',3)

# rename(src, dst)
# conn.rename('wife','girl')

# move(name, db))
# conn.move('girl',3)

# randomkey()  # 随机返回一个key
# print(conn.randomkey())

# type(name)
# print(conn.type('age1'))
# print(conn.type('userinfo'))

管道

  管道---》redis本身是不支持事务的-->有的时候我们要实现类似这种功能:张三-100块钱,李四+100块钱

  通过管道实现--->把多次操作的命令放到一个管道中,一次性执行,要么都执行了,要么都不执行

  通过管道可以实现事务

import redis

pool = redis.ConnectionPool()
conn = redis.Redis(connection_pool=pool)



pipe = conn.pipeline(transaction=True)
pipe.multi()
# 以后用pipe代替conn操作
pipe.set('name', 'lqz')
# raise Exception('asdfasdf')
pipe.set('role', 'nb')
# 只是往管道中放了命令,还没执行
pipe.execute() # 一次性执行多条命令

 

posted @ 2022-04-26 22:13  那就凑个整吧  阅读(45)  评论(0编辑  收藏  举报