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中设置值,默认不存在则创建, ...
随机推荐
- Oracle Linux下使用sqlplus的edit命令
1.使当前会话生效 define_editor=vi SQL> select * from dual; D - X SQL> edit Wrote file afiedt.buf 21 1 ...
- \ HTML5开发项目实战:照片墙
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- css实现下拉框导航条
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- mqtt发送消息,消息体为16进制
在idea 加入代码 :-server -XX:PermSize=256M -XX:MaxPermSize=256M -Dfile.encoding=UTF-8
- python 在图像上写中文字体 (python write Chinese in image)
本人处理图像的时候经常使用opencv的包,但是 cv2.putText 显示不了中文,所以查找了如何在python在图像上写中文的方法,在伟大的Stack Overflow上面找到一个方法,分享给大 ...
- java 调用wsdl的webservice接口 两种调用方式
关于wsdl接口对于我来说是比较头疼的 基本没搞过.一脸懵 就在网上搜 看着写的都很好到我这就不好使了,非常蓝瘦.谨以此随笔纪念我这半个月踩过的坑... 背景:短短两周除了普通开发外我就接到了两个we ...
- NORDIC内核ARM蓝牙芯片NRF51802/NRF51822
Nordic nRF51 系列的IC 和协议堆栈对内存大小.封装类型.接口.周边产品及无线连接提供更多选择. 关于 nRF51 系列 多协议 2.4GHz 射频收发器拥有高性能.超低功耗以及灵活性等 ...
- Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程
队列(queue) 队列只在多线程里有意义,是一种线程安全的数据结构. get与put方法 ''' 创建一个“队列”对象 import queue q = queue.Queue(maxsize = ...
- SCP-bzoj-1058
项目编号:bzoj-1058 项目等级:Safe 项目描述: 戳这里 特殊收容措施: STL好题.维护两个set,一个存储数列里相邻元素差,另一个存储整个数列. 对于MIN_SORT_GAP操作,维护 ...
- 【Java架构:基础技术】一篇文章搞掂:Spring Boot 官方文档解读
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到https://docs.spring.io/spring-boot/docs查看(此地 ...