安装导入第三方模块Redis

pip3 install redis

import redis

操作String类型

"""
redis 基本命令 String
set(name, value, ex=None, px=None, nx=False, xx=False)
在 Redis 中设置值,默认,不存在则创建,存在则修改。
参数:
ex - 过期时间(秒)
px - 过期时间(毫秒)
nx - 如果设置为True,则只有name不存在时,当前set操作才执行
xx - 如果设置为True,则只有name存在时,当前set操作才执行
redis 取出的结果默认是字节,我们可以设定 decode_responses=True 改成字符串。
"""
redis = redis.Redis(host="116.62.13.104", port=6379, decode_responses=True)
# python-k1 代表key; hello 代表 value; ex代表seconds;px代表ms
redis.set("python-k1","hello",ex=120)
# 获取值的第一种方式 使用 redis.get("key")
print(redis.get("python-k1"),type(redis.get("python-k1")))
# 获取值的第二种方式 直接使用 redis['key']
print(redis['python-k1'],type(redis['python-k1']))

连接池

redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。

"""
连接池
redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池。
"""
pool = redis.ConnectionPool(host='116.62.13.104', port=6379, decode_responses=True)
redis = redis.Redis(connection_pool=pool)

完整代码

# author: LiuShihao
# data: 2020/12/3 2:59 下午
# youknow: 各位老铁,我的这套代码曾经有人出价三个亿我没有卖,如今拿出来和大家分享,不求别的,只求大家免费的小红心帮忙点一点,这里谢过了。
# desc: Python操作Redis
"""
通过 get()、set() 操作redis字符型数据;
通过 hset()、hget() 操作redis哈希类型数据
通过 json.dumps() 和 json.loads() 可以实现python中的字典数据的序列化和反序列化;
"""
import redis
import traceback # redis = redis.Redis(host="116.62.13.104", port=6379, decode_responses=True)
"""
连接池
redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池。
"""
pool = redis.ConnectionPool(host='116.62.13.104', port=6379, decode_responses=True)
redis = redis.Redis(connection_pool=pool) """
redis 基本命令 String
set(name, value, ex=None, px=None, nx=False, xx=False)
在 Redis 中设置值,默认,不存在则创建,存在则修改。
参数:
ex - 过期时间(秒)
px - 过期时间(毫秒)
nx - 如果设置为True,则只有name不存在时,当前set操作才执行
xx - 如果设置为True,则只有name存在时,当前set操作才执行
redis 取出的结果默认是字节,我们可以设定 decode_responses=True 改成字符串。 # 获取值的第一种方式 使用 redis.get("key")
print(redis.get("python-k1"),type(redis.get("python-k1")))
# 获取值的第二种方式 直接使用 redis['key']
print(redis['python-k1'],type(redis['python-k1']))
""" # 获取所有的key名
def findAllKeys():
keyList = redis.keys()
for item in keyList:
print(item)
# 获取所有的键值对
def findAllKeyAndValue():
# keyAndValue = []
keyList = redis.keys()
for item in keyList:
print(item)
value = redis[item]
# d=dict(item=value)
d= {item:value}
print(d)
# keyAndValue.append(d) if __name__ == '__main__':
# redis.set('PK2','PV2')
# value = redis.get('PK2')
# print('值:',value)
findAllKeyAndValue()
# print("键值对:",keyAndValue)

Bug redis.exceptions.ResponseError


报错信息:

redis.exceptions.ResponseError: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

报错原因:
强制把redis快照关闭了导致不能持久化的问题。
解决方法:
在linux下通过redis-cli连接redis进行数据库操作:

redis-cli

config set stop-writes-on-bgsave-error no

Python进阶学习_连接操作Redis数据库的更多相关文章

  1. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

  2. python开发笔记-pymsslq连接操作SqlServer数据库

    1. 普通连接测试 官方文档样例:http://pymssql.org/en/latest/pymssql_examples.html pymssql模块使用指南:https://blog.csdn. ...

  3. python学习笔记(十六)python操作redis数据库

    Redis是一个key-value存储系统,它支持丰富的数据类型,如:string.list.set.zset(sorted set).hash. Redis特点 Redis以内存作为数据存储介质,所 ...

  4. Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  5. redis python 操作 Python操作Redis数据库

    原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 Python操作Redis数据库   连接数据库 StrictRedisfrom ...

  6. 操作redis数据库 & 操作Excel & 开发接口

    操作redis数据库: string类型 1. 增 set,传俩个参数 key value(只要是字符串就行)2. 删 delete 传一个参数 key3. 修改 set 在目标key重新传参 key ...

  7. Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

    3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...

  8. Python进阶学习之特殊方法实例详析

    Python进阶学习之特殊方法实例详析 最近在学习python,学习到了一个之前没接触过的--特殊方法. 什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init_ ...

  9. NodeJs连接操作MongoDB数据库

    NodeJs连接操作MongoDB数据库 一,介绍 MongoDB是一种文档导向数据库管理系统,由C++撰写而成.介绍如何使用 Node.js 来连接 MongoDB,并对数据库进行操作. Mongo ...

随机推荐

  1. python中操作excel数据

    python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...

  2. Windows启用SSH命令

    前言 直接通过windows自带的CMD终端远程连接服务器,需要先安装好OpenSSH客户端. 安装 使用浏览器打开官网: https://www.mls-software.com/opensshd. ...

  3. DNS、IP地址、子网掩码和默认网关

    一.DNS服务器 DNS是指:域名服务器(Domain Name Server).在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转 ...

  4. Alpha冲刺-第五次冲刺笔记

    Alpha冲刺-冲刺笔记 这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2 这个作业要求在哪里 https://edu.cnblogs. ...

  5. Prometheus 使用之 node exporter

    本文使用的 Prometheus 版本为 2.22.0,node exporter 版本为 1.0.1:部署在 Linux 服务器Prometheus 是开源的监控报警系统和时序列数据库 (TSDB) ...

  6. Spring Boot 自带缓存及结合 Redis 使用

    本文测试环境: Spring Boot 2.1.4.RELEASE + Redis 5.0.4 + CentOS 7 自带缓存 如果没有使用缓存中间件,Spring Boot 会使用默认的缓存,我们只 ...

  7. 因为一个Docker问题,我顺手整理从安装到常用命令操作手册

    今天,自己写了一部分业务代码,是常规代码的另外一种方式,不能在公司的服务器上测试,就自己在PC端搭建了一套和公司集群一样的模板,因为公司的业务模块的测试有单独的服务器(这一块还是我很稀罕的),但是,第 ...

  8. cookie倒计时

    使用cookie倒计时60s Vue实例创建一个变量time=0 生命周期一般是created,给time赋值一个cookie的键值-当前的时间(因为刚进入页面这时是没有cookie的,所以time变 ...

  9. celery使用-win10和linux

    win10启动方式 celery -A celery_tasks.main worker -l debug -P eventlet linux启动方式 /usr/local/bin/celery ce ...

  10. 老猿学5G扫盲贴:PDU协议数据单元、PDU连接业务和PDU会话的功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.PDU 关于PDU在百度百科是这样定义的:协议 ...