python 对redis key的基本操作
首先看一下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的基本操作的更多相关文章
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- 分享一个Python脚本--统计redis key类型数据大小分布
概述 今天主要介绍怎么统计redis key类型数据大小分布. 原理:使用redis命令: scan.pipline.type 和 debug object 来得到 redis key 信息. 脚本 ...
- python——操作Redis
在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...
- 数据库之redis篇(3)—— Python操作redis
虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...
- Python使用Redis数据库
Redis 简介 Redis是开源的高性能Key-Value数据库,可以用于缓存等用途. Redis可以提供事务和持久化支持保证并发安全性,并提供TTL(time to life)服务. 使用Redi ...
- Python操作Redis,你要的都在这了!
Redis是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单.本节中,我们就来介绍一下Python的Redis操作,主要介绍RedisPy这个库的用法. ...
- 五、Python操作redis
五.Python操作redis 一.python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', p ...
- python之redis和memcache操作
Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...
- Python—操作redis
Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...
随机推荐
- Codeforces 354B 博弈, DP,记忆化搜索
题意:现在有一个字符矩阵,从左上角出发,每个人交替选择一个字符.如果最后字符a数目大于字符b,那么第一个人获胜,否则b获胜,否则平均.现在双方都不放水,问最后结果是什么? 思路:这题需要注意,选择的字 ...
- Java集合体系结构(List、Set、Collection、Map的区别和联系)
Java集合体系结构(List.Set.Collection.Map的区别和联系) 1.Collection 接口存储一组不唯一,无序的对象 2.List 接口存储一组不唯一,有序(插入顺序)的对象 ...
- Anaconda基本命令
创建环境 conda create --name bunnies python=3 astroid babel 列出所有环境 conda info --envs 或 conda env list 克隆 ...
- shell 根据路径获取文件名和目录
path=/dir1/dir2/dir3/test.txt echo ${path##*/} 获取文件名 test.txtecho ${path##*.} 获取后缀 txt #不带后缀的文件名temp ...
- UVa 699 The Falling Leaves (树水题)
Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on ...
- paper 133:结构张量Structure Tensor(一)
1.结构张量的作用: 能够区分图像中的平坦区域,边缘,角点: 2.图像中的结构张量的定义 1)是一个矩阵: 2)与图像的水平,垂直梯度有关,定义如下: 在MATLAB中,可以用 ...
- php错误提示
1.配置php.ini打开php.ini,把display_errors = Off 改成 display_errors = On然后找到 error_reporting 最好设置成error_rep ...
- iOS 完全复制UIView
如果要完全复制一个UIView和对象的时候可以使用对象序列化方法 // Duplicate UIView - (UIView*)duplicate:(UIView*)view { NSData * t ...
- 【数据库】一篇文章搞掂:MySQL数据库
一.安装 使用版本:5.7(2018/08/03 阿里云的云数据库最高支持5.7,所以这里考虑用5.7) 下载版本:MySQL Community Server 5.7.23 下载地址:https:/ ...
- MYSQL的SQL_CALC_FOUND_ROWS 和count(*)
mysql的SQL_CALC_FOUND_ROWS 和 count(*) 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ......; 查出符合 ...