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 ...
随机推荐
- 新手AS常见问题集锦
开发环境 以前开发android的时候可以使用eclipse,虽然现在也能使用eclipse,但是google已经不再支持使用eclipse开发android了.因为google有了自己的IDE--- ...
- 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务
等保测评要求: 必须关闭telnet服务,开启ssh服务 即用ssh方式登录网络设备,而不允许用telnet. 输入密码.en 再次输入密码.sh run 这些常规动作就不再赘述. 1.关闭telne ...
- GIT-本地仓库
用户配置 git config --global user.name "name" git config --global user.email "123@qq.com& ...
- js浮点数精度丢失问题及如何解决js中浮点数计算不精准
js中进行数字计算时候,会出现精度误差的问题.先来看一个实例: console.log(0.1+0.2===0.3);//false console.log(0.1+0.1===0.2);//true ...
- 经典算法(三) 单链表 反转 & 是否相交/成环 & 求交点 等
参考文章: 判断链表是否相交:http://treemanfm.iteye.com/blog/2044196 一.单链表反转 链表节点 public class Node { private int ...
- 解决IDEA中maven导入jar包
查 看: File------>Project Structure--------->Libraries如下面没有maven所引入的jar包则为该错误[1] 错误原因: 是 ...
- FCN内容通读
本文完全为个人心得体会,只做记录用,欢迎交流 替换全连接层为卷积层 以alexnet为例,替换了最后三层fc为卷积层,得到的是通道数很大(4096)而长宽很小的输出,其实我不太能理解这里的创新点,或许 ...
- 范仁义html+css课程---11、html补充知识
范仁义html+css课程---11.html补充知识 一.总结 一句话总结: 小于号(<):< 大于号(>):> 空格: 二.html 字符实体 1.小于号(<)和大 ...
- HIVE-计算累计和
eg:统计1-12月的累积销量,即1月为1月份的值,2月为1.2月份值的和,3月为123月份的和,12月为1-12月份值的和 SELECT month,SUM(amount) month_amou ...
- android为什么不允许新开启一个线程来更新UI,而是用handler来更新界面
下面是快速创建一个新线程的方法: 第一种:直接创建子线程并启动 new Thread() {@Overridepublic void run() { //这里写入子线程需要做的工作 ...