python 对redis key的基本操作

在这里可以讨论Python3开发技术,插件应用等方面技术

版主: jvip_chen

回复
头像
jvip_chen
社区版主
社区版主
帖子: 167
注册时间: 2019年 1月 5日 13:36 星期六

python 对redis key的基本操作

帖子 jvip_chen »

首先看一下Python 操作redis.StrictRedis 的初始化方法__init__

代码: 全选

def __init__(self, host='localhost', port=6379,
                 db=0, password=None, socket_timeout=None,
                 socket_connect_timeout=None,
                 socket_keepalive=None, socket_keepalive_options=None,
                 connection_pool=None, unix_socket_path=None,
                 encoding='utf-8', encoding_errors='strict',
                 charset=None, errors=None,
                 decode_responses=False, retry_on_timeout=False,
                 ssl=False, ssl_keyfile=None, ssl_certfile=None,
                 ssl_cert_reqs=None, ssl_ca_certs=None):
最简单的情况的话;我们可以只提供ip和password就可以了,甚至还可以更少。默认端口是6379,默认连接数据库是0;

代码: 全选

# encoding:utf-8
import redis
import time


def main():
    """
    redis-cli -h 127.0.0.1 -a test321
    """
    redis_host = "127.0.0.1"
    redis_password = "test321"
    redis_cli = redis.StrictRedis(host=redis_host, port=6379, db=0, password=redis_password)
    try:
        print redis_cli.flushdb() # 清空数据库
        print redis_cli.randomkey() # 随机获得一个key,如果数据库为空,返回nil
        print redis_cli.set("key1", "hello")
        print redis_cli.set("key2", "world")
        print redis_cli.randomkey()
        print redis_cli.keys("key*") # 获得当前数据库所有的“key*”
        print redis_cli.exists("key3") # 查看key是否存在
        print redis_cli.set("key3", 1)
        print redis_cli.type("key2") # 查看key对应的值类型
        print redis_cli.type("key3")
        print redis_cli.move("key3", 1) # 移动对应key(key3)到对应数据库(1)
        print redis_cli.select(1) #  切换到数据库(1)
        print redis_cli.exists("key3") # 查看key是否存在
        print redis_cli.get("key3")
        print redis_cli.delete("key3")
        print redis_cli.select(0) #  切换到数据库(0)
        print redis_cli.exists("key3") # 查看key是否存在
        print redis_cli.get("key2")
        print redis_cli.rename("key2", "key3") # 将key2重命名key3
        print redis_cli.get("key2")
        print redis_cli.get("key3")
        print redis_cli.rename("key1", "key3") # 尝试将key2重命名key3,若key3存在则失败
        print redis_cli.get("key1")
        print redis_cli.get("key3")
        print redis_cli.expire("key1", 100) # 设置key1键时效100秒
        print redis_cli.ttl("key1") # 查看key1时效
        print redis_cli.expire("key1", 10) # 重置key1键时效10秒
        print redis_cli.ttl("key1") # 查看key1时效
        print redis_cli.persist("key1") # 取消key1超时,设置为永久
        print redis_cli.ttl("key1") # 查看key1时效,持久键返回-1

        
    except Exception as e:
        print e.message
    finally:
        print redis_cli.flushdb()
        passif __name__ == "__main__":
    main()

回复