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() # 一次性执行多条命令