码迷,mamicode.com
首页 > 其他好文 > 详细

常用操作和管道

时间:2018-01-17 00:55:24      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:bsp   .exe   time   erb   print   use   设置   connect   sts   

一、常用操作

  1.1 delete(*names)

# 根据删除redis中的任意数据类型

print(r.get(‘name‘))
r.delete(‘name‘)
print(r.get(‘name‘))

# 输出
b‘bigberg‘
None

  1.2 exists(name)

# 检测redis的name是否存在

print(r.exists(‘name‘))
print(r.exists(‘names‘))

#输出
False
True

  1.3 keys(pattern=‘*‘)

# 根据模型获取redis的name
 
# 更多:
    # KEYS * 匹配数据库中所有 key 。
    # KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
    # KEYS h*llo 匹配 hllo 和 heeeeello 等。
    # KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo

print(r.keys(pattern=‘n*‘))

# 输出
[b‘names‘, b‘num‘, b‘names_dst‘]

  1.4 expire(name ,time)

# 为某个redis的某个name设置超时时间

print(r.get(‘num‘))
r.expire(‘num‘, 2)
time.sleep(3)

print(r.get(‘num‘))

#输出
b‘6‘
None

  1.5 rename(src, dst)

# 对redis的name重命名为

print(r.get(‘info‘))
r.rename(‘info‘, ‘info-test‘)
print(r.get(‘info-test‘))

#输出
b‘this is my test‘
b‘this is my test‘

  1.6 move(name, db))

# 将redis的某个值移动到指定的db下

r.move(‘info-test‘, 3)

127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> keys *
1) "info-test"

  1.7 randomkey()

# 随机获取一个redis的name(不删除)

print(r.randomkey())

#输出
b‘login_user‘

  1.8 type(name)

# 获取name对应值的类型

print(r.type(‘login_user‘))

#输出
b‘string‘

 

二、管道

  redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。

  

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import redis
 
pool = redis.ConnectionPool(host=‘10.211.55.4‘, port=6379)
 
r = redis.Redis(connection_pool=pool)
 
# pipe = r.pipeline(transaction=False)
pipe = r.pipeline(transaction=True)
 
pipe.set(‘name‘, ‘ddt‘)
pipe.set(‘role‘, ‘superboy‘)
 
pipe.execute()

  

常用操作和管道

标签:bsp   .exe   time   erb   print   use   设置   connect   sts   

原文地址:https://www.cnblogs.com/bigberg/p/8298199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!