首先看一下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()

github:https://github.com/luohuaizhi/test/blob/master/testRedisBase.py

python 对redis key的基本操作的更多相关文章

  1. redis学习 (key)键,Python操作redis 键 (二)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...

  2. 分享一个Python脚本--统计redis key类型数据大小分布

    概述 今天主要介绍怎么统计redis key类型数据大小分布. 原理:使用redis命令: scan.pipline.type 和 debug object 来得到 redis key 信息. 脚本 ...

  3. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  4. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

  5. Python使用Redis数据库

    Redis 简介 Redis是开源的高性能Key-Value数据库,可以用于缓存等用途. Redis可以提供事务和持久化支持保证并发安全性,并提供TTL(time to life)服务. 使用Redi ...

  6. Python操作Redis,你要的都在这了!

    Redis是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单.本节中,我们就来介绍一下Python的Redis操作,主要介绍RedisPy这个库的用法. ...

  7. 五、Python操作redis

    五.Python操作redis 一.python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', p ...

  8. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

  9. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

随机推荐

  1. Java集合框架是什么?说出一些集合框架的优点?

    每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array. 随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在 ...

  2. 【归纳】springboot中的IOC注解:注册bean和使用bean

    目前了解的springboot中IOC注解主要分为两类: 1. 注册bean:@Component和@Repository.@Service.@Controller .@Configuration 共 ...

  3. .net 开源项目地址

    https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet 这个下面是asp.net core 框架 ...

  4. Vim显示/不显示行号

    :set number :set nonumber

  5. 【leetcode】982. Triples with Bitwise AND Equal To Zero

    题目如下: Given an array of integers A, find the number of triples of indices (i, j, k) such that: 0 < ...

  6. C++11新特性之 Move semantics(移动语义)

    https://blog.csdn.net/wangshubo1989/article/details/49748703 这篇讲到了vector的push_back的两种重载版本,左值版本和右值版本.

  7. easyUi-datagrid 真分页 + 工具栏添加控件

    1.  新建Pager.js /** * * @param {any} el 元素 */ function showDataGrid1(el) { $(el).datagrid({ title: '分 ...

  8. java html生成图片html2canvas,Canvas2Image

    <html> <div id="pic" style="margin-left: 500px;position:fixed;opacity:0;&quo ...

  9. 树莓派配置freeopcua

    一.下载freeopcua的源码 git clone https://github.com/FreeOpcUa/freeopcua.git 切换回2016-10-8的版本 git reset 8c16 ...

  10. 「NOI2016」网格 解题报告

    「NOI2016」网格 容易注意到,答案最多为2,也就是说答案为-\(1,0,1,2\)四种,考虑逐个判断. 无解的情况比较简单 如果\(nm\le c+1\),显然无解 如果\(nm=c+2\),判 ...