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 ...
随机推荐
- centos服务器升级nodejs, pm2
突然抽风想升级服务器的nodejs版本,原服务器版本运行的8.x,而目前(2019年5月30日)nodejs官方最新版本已经更新到了12.x了,稳定版本也更新到了10.x. 然后就折腾了一把去升级服务 ...
- nginx 访问控制之 request_uri
$request_uri比$docuemnt_uri多了请求的参数. 主要用来针对请求的uri中的参数进行控制. 示例: if ($request_uri ~ "gid=\d{9,12}&q ...
- python 一个二维数组和一个整数,判断数组中是否含有该整数
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. de ...
- 调用Fluent进行多工况计算总结
算例来源:https://confluence.cornell.edu/display/SIMULATION/FLUENT+-+Turbulent+Pipe+Flow 有时候我们对同一模型进行多工况计 ...
- java集合代码示例
一.List ArrayList 使用List时,最好初始化容量. ArrayList的默认容量为10,每次扩容增0.5倍,假如要放置100个元素,需要多次扩容. List<String> ...
- 冰多多团队-第五次Scrum会议
冰多多团队-第五次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 部分Action整合, 接入语音接口,整合项目解决兼容性问题 ASR bug修复 牛雅哲 跑通了科大讯飞语法识别的 ...
- RSA后台签名前台验签的应用(前台采用jsrsasign库)
写在前面 安全测试需要, 为防止后台响应数据返给前台过程中被篡改前台再拿被篡改后的数据进行接下来的操作影响正常业务, 决定采用RSA对响应数据进行签名和验签, 于是有了这篇<RSA后台签名前台验 ...
- springMVC:为MultipartFilte配置了上传文件解析器,报错或不能使用
一.问题描述为支持restful风格请求,并且应对可能上传文件的情况,需要在配置hiddenHttpMethodFilter过滤器之前配置MultipartFilter.目的是让MultipartFi ...
- SpringMVC异步处理 可使用的返回值类型
CallableMethodReturnValueHandler Callable.class.isAssignableFrom(returnType.getParameterType()); Def ...
- Ant Design Pro 子界面传值