安装导入第三方模块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. jquery删除文件

    1 <div class="panel panel-default"> 2 <div class="panel-body"> 3 < ...

  2. Eclipse中get/set方法自动生成

    代码中点击右键(快捷键Ctrl+Alt+S) ->Source ->Generate Getters and Setters... ->全选(或选择需要生成的字段/方法) 动图: 静 ...

  3. MySQL查询练习2

    MySQL查询练习2 导读: 本次MySQL的查询语句是本人考试题目: 所有题目都已通过: 该查询练习并没有sql文件进行检查: 如果有书写以及其他错误欢迎指出. 题目正文: 1.找出借书超过5本的借 ...

  4. python之切片操作,实现一个trim()函数,去除字符串首尾的空格.

    # -*- coding: utf-8 -*- def trim(s): if len(s)==0: return '' if s[:1]==' ': return trim(s[1:]) elif ...

  5. 浅尝 Elastic Stack (三) Logstash + Beats

    本文使用 Filebeat,如果没有安装需要安装: curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat- ...

  6. 第15.29节 PyQt(Python+Qt)入门学习:containers容器类部件QScrollArea滚动区域详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 Scroll Area提供了一个呈现在其他部件上的可滚动区域视图,滚动区域用于显示框架内的 ...

  7. sqlite 数据库与mysql 数据库使用区别记录

    遇到了就记点儿. 1.sqlite 中,设置外键关联,没啥用.只有mysql 中可用.

  8. autojs websocket 核心示例代码,云控技术

    //初始化方法 function recordInit(scriptName){ //let ipInfoJson = getIP() // let ip = ipInfoJson.cip // le ...

  9. element ui中循环出来的表格勾选问题

    需求是这样的,一个房主屋里面有多个电表,每一个表是一个账户,一次只能给一个账户缴费,在点击go按钮进行缴费,这个时候判断是否跨表勾选,跨表格勾选则弹窗提示,反之符合需求,走缴费逻辑 上代码 <! ...

  10. 哪些地方会出现css阻塞,哪些地方会出现js阻塞?

    js的阻塞特性: 所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等. 直到JS下载.解析.执行完毕后才开始继续并行下载其他资源并呈现内容. 为了提高用户体验,新一代浏 ...