python--封装Redis
Redis封装
import redis
class MyRedis():
def __init__(self,ip,password,port=6379,db=1):#构造函数
try:
self.r = redis.Redis(host=ip,password=password,port=port,db=db) #连接redis固定方法,这里的值必须固定写死
except Exception as e:
print('redis连接失败,错误信息%s'%e)
def str_get(self,k):
res = self.r.get(k) #会从服务器传对应的值过来,性能慢
if res:
return res.decode() #从redis里面拿到的是bytes类型的数据,需要转换一下
def str_set(self,k,v,time=None): #time默认失效时间
self.r.set(k,v,time)
def delete(self,k):
tag = self.r.exists(k)
#判断这个key是否存在,相对于get到这个key他只是传回一个存在火灾不存在的信息,
# 而不用将整个k值传过来(如果k里面存的东西比较多,那么传输很耗时)
if tag:
self.r.delete(k)
else:
print('这个key不存在')
def hash_get(self,name,k): #哈希类型存储的是多层字典(嵌套字典)
res = self.r.hget(name,k)
if res:
return res.decode() #因为get不到值得话也不会报错所以需要判断一下
def hash_set(self,name,k,v): #哈希类型的是多层
self.r.hset(name,k,v) #set也不会报错
def hash_getall(self,name):
res = self.r.hgetall(name) #得到的是字典类型的,里面的k,v都是bytes类型的
data={}
if res:
for k,v in res.items(): #循环取出字典里面的k,v,在进行decode
k = k.decode()
v = v.decode()
data[k]=v
return data
def hash_del(self,name,k):
res = self.r.hdel(name,k)
if res:
print('删除成功')
return 1
else:
print('删除失败,该key不存在')
return 0
@property #属性方法,
# 使用的时候和变量一个用法就好比实例,A=MyRedis(), A.clean_redis使用,
# 如果不加这个@property,使用时A=MyRedis(), A.clean_redis() 后面需要加这个函数的括号
def clean_redis(self):
self.r.flushdb() #清空 redis
print('清空redis成功!')
return 0
a = MyRedis('118.0000','HK0000*')
print(a.str_get('duan'))
python--封装Redis的更多相关文章
- python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解
1.python mysql redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...
- python之redis
Redis简单介绍 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构 ...
- 数据库之redis篇(3)—— Python操作redis
虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...
- 简单封装Redis做缓存
基于Redis封装一个简单的Python缓存模块 0. Docker Redis安装 参考: Get Docker CE for CentOS Docker 安装 Redis 安装Docker时错误s ...
- Redis常用操作大全和Python操作Redis
简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ...
- edis 以及 Python操作Redis
Redis 以及 Python操作Redis Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持 ...
- Python使用Redis数据库
Redis 简介 Redis是开源的高性能Key-Value数据库,可以用于缓存等用途. Redis可以提供事务和持久化支持保证并发安全性,并提供TTL(time to life)服务. 使用Redi ...
- python 实现redis订阅发布功能
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- 第三百零一节,python操作redis缓存-管道、发布订阅
python操作redis缓存-管道.发布订阅 一.管道 redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pi ...
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
随机推荐
- MVC-基础01
MVC体系结构将应用程序分成三个主要组件:模型(Model).视图(View).和控制器(Controller).在ASP.NET MVC应用程序中,数据操控的逻辑包含在Models文件夹下,数据的展 ...
- ArangoDB 3.5:流事务API、搜索性能大幅提升、最短路径功能
ArangoDB 3.5 发布了.ArangoDB 是一个分布式原生的多模型数据库,具有灵活的文档.图形和键值数据模型.使用方便的 SQL 查询语言或 JavaScript 扩展构建高性能应用程序. ...
- springmvc配置数据源方式
1 阿里巴巴的druid数据源 <!-- 配置数据源 使用的是Druid数据源 -->-<bean destroy-method="close" init-met ...
- python学习01python入门一
在正式开启python代码的学习之旅之前,先来了解一下有关python语言的一些内容吧. python的命名,起源等等,大家自行百度了解,此处不再赘述. python是一种解释型语言,具有强调代码可读 ...
- 理解分布式一致性:Paxos协议之Generalized Paxos & Byzantine Paxos
理解分布式一致性:Paxos协议之Generalized Paxos & Byzantine Paxos Generalized Paxos Byzantine Paxos Byzantine ...
- wampserver安装之后无法打开localhost
2019独角兽企业重金招聘Python工程师标准>>> 如上图 是服务未成功启动 服务成功启动标志 修改服务器监听端口 在安装完wampserver,打开,如果在状态栏上的图标不是绿 ...
- CSS开发技巧(一):button样式设置
button样式需要注意的有几点: 1.建议有一个最小宽度,以免在文字很少时使得按钮过于窄,宽高不协调: 2.建议有一个padding,以免内部文本显得过于拥挤: 2.hover时需要有颜色变化,以告 ...
- 01-复杂度2 Maximum Subsequence Sum
01-复杂度2 Maximum Subsequence Sum (25分) 时间限制:200ms 内存限制:64MB 代码长度限制:16kB 判题程序:系统默认 作者:陈越 单位:浙江大学 htt ...
- php安装igbinary扩展(windows)
pecl.php.net 是php的扩展仓库,访问此网站后,搜索需要安装的扩展,截图如下: igbinary: http://pecl.php.net/package/redis github的网址: ...
- 学数据库还不会Select,SQL Select详解,单表查询完全解析?
查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式> .. ...