python_封装redis_list方法
xshell 进入 虚拟环境 安装 redis
workon py3env # 进入虚拟环境
pip install redis # 安装redis
deactivate # 退出虚拟环境
简单的封装下redis中的list方法:
import redis
class ListDB():
def __init__(self, key):
self.conn = redis.StrictRedis(decode_responses=True)
self.key = key
# 新增数据
def newData(self, *value, lpush=False):
"""
:param value: 添加的数据
:param lpush: boolen, True表示从头部添加数据,默认从尾部添加数据
:return: 添加后列表的长度
"""
# if lpush == "lpush":
# self.conn.lpush(self.key, *list)
# elif lpush == "rpush":
# self.conn.lpush(self.key, *list)
return self.conn.lpush(self.key, *value) if lpush else self.conn.lpush(self.key, *value)
# 返回列表中元素的值。index从0开始,当index超出索引时返回null
def lindex(self, *list):
return self.conn.lindex(self.key, *list)
# 查看索引范围内元素的值
def lrange(self, *data):
return self.conn.lrange(self.key, *data)
# 返回列表的长度
def llen(self):
return self.conn.llen(self.key)
# 修改数据
def lset(self, index, value):
return self.conn.lset(self.key, index, value)
# 删除数据
def deletePop(self, pop=False):
# if data == "lpop":
# return self.conn.lpop(self.key)
# elif data == "rpop":
# return self.conn.rpop(self.key)
return self.conn.lpop(self.key) if pop else self.conn.rpop(self.key)
li = ListDB('table_test')
a = 'a', 'b'
# li.newData('test', 'vs')
li.newData('test', 'vs', lpush=True)
print("返回列表中元素的值。index从0开始,当index超出索引时返回null: %s" % li.lindex(0))
li.lset(0,'hello')
print("查看索引范围内元素的值: {}".format(li.lrange(0, -1)))
print("返回列表的长度: {}".format(li.llen()))
li.deletePop(True)
li.deletePop()
print("查看索引范围内元素的值: {}".format(li.lrange(0, -1)))
结果:

python_基础封装数据库方法
作者:含笑半步颠√
博客链接:https://www.cnblogs.com/lixy-88428977
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。
python_封装redis_list方法的更多相关文章
- python_封装redis_hash方法
xshell 进入 虚拟环境 安装 redis workon py3env # 进入虚拟环境 pip install redis # 安装redis deactivate # 退出虚拟环境 简单的封装 ...
- js封装的方法
1.JS封装就是尽量把使用的方式简单化,内部逻辑和使用解耦.通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置. 2.JS封装的方法有函数方式.对象的方式.闭包的方式. 举 ...
- Visual Studio快速封装字段方法
在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字 ...
- 关于tween.js 封装的方法
今天做的是匀速情况下div的运动.首先开始之前先了解运动的原理 A------------>>BA移动到B 这段距离是总距离 用一个变量保存下来:var dA移动到B 移动的总次数 用一 ...
- xml方式封装数据方法
1.xml方式封装数据方法 2.demo <?php xml方式封装数据方法 /** * [xmlEncode description] * @param [type] $code [descr ...
- Kong管理UI -kong-dashboard (附kong封装webservice方法)
本文仍然是在centos 6.7的环境下进行 本文转载请注明出处 —— xiaoEight btw如果要正常使用管理UI,前提为kong已经正常run(可参考)起来,此 ...
- angular 封装公共方法
angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...
- jsonp跨域 封装通用方法
jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-3.登录检验JWT实战之封装通用方法
笔记 3.登录检验JWT实战之封装通用方法 讲解:引入相关依赖并开发JWT工具类 1.加入相关依赖 <!-- JWT相关 --> <dependenc ...
随机推荐
- JAVA基础--MySQL(二)
数据库约束 1.基础限制 ① 单一表内字节量总和不能超过65535,null 占用一个字节空间 ② varchar存储255 以内字节占用一个字节表示长度,255以上自己则占用两个字节表示长度 ③ ...
- gethostname、gethostbyname
gethostname():返回本地主机的标准主机名 原型: #include<unistd.h> int gethostname(char *name, size_t len); 参数说 ...
- centos8.0安装docker
背景简介: 前两天红帽正式发布了RHEL8,网上同时也有了CentOS8,一直在接触容器方面,为了尝鲜,下载了CentOS8,并尝试安装docker,不料竟然还报了个错(缺少依赖),故及时记录一下,方 ...
- saltstack自动化运维工具搭建个人笔记
至于为什么选择saltstack,因为Puppet.Chef基于Ruby开发,而ansible.saltstack基于python开发,便于后期二次,良好的可移植性. 又,ansible基于SSH协议 ...
- mysql根据关键词查询匹配多个字段时结果不正确
一开始的写法 SELECT rrc.id, rrc.resource_name rrc.is_publish FROM res_resource_catalog AS rrc <where> ...
- ConcurrentHashMap 无锁读
ConcurrentHashMap 可以做到无锁读,而写使用分段锁机制,把整个哈希表切分成段segment(默认为16段),每段有一个锁,最多可以同时有16个写线程.而读不受限制. 下文转自http: ...
- C++ 中的 inline 用法
1.引入 inline 关键字的原因 在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数. 栈空间就是指放置程序的局部数 ...
- windows 10环境下安装Tensorflow-gpu
网上有很多教程,特别是简写上的写的都还算比较详细.但我自己还是遇到了几个坑,希望对深度学习有兴趣的同学遇到跟我一样的坑,希望这份记录能帮助到你. 问题一:要不要使用Anaconda? 我看极客时间上的 ...
- git 相关流程和报错解决
git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...
- PHP系列 | [转] PHP中被忽略的性能优化利器:生成器
官方:https://www.php.net/manual/zh/language.generators.overview.php 原文:https://segmentfault.com/a/1190 ...