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 ...
 
随机推荐
- 关于wineQQ8.9.19983deepin23版本提升不能在使用请升级,Linux偷懒升级方法
			
安装wineQQ8.9.19983deepin23版本后提示,不在提供服务请升级. 第一步 前往QQ官方下载Windows最先版本QQ https://qd.myapp.com/myapp/qqtea ...
 - hdu2037 今年暑假不AC[贪心][区间调度问题]
			
目录 题目地址 题干 代码和解释 参考 题目地址 hdu2037 题干 代码和解释 本题使用贪心.有三种贪心策略:开始时间最早,结束时间最早,用时最短.第二种是正确的策略,因为结束得越早,后面就可以有 ...
 - JavaScript初探系列(六)——函数
			
一.概述 (一)函数的声明 JavaScript 有三种声明函数的方法. (1)function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是 ...
 - Spring Boot-Error:(3, 32) java: 程序包org.springframework.boot不存在
			
问题分析 -由于加载的项目没有加载相应的依赖的包文件导致 解决方案 setting 选中图中的设置,点击apply,IDE就会自动下载所需要的包文件
 - [SQL]用于提取组内最新数据,左连接,内连接,not exist三种方案中,到底谁最快?
			
本作代码下载:https://files.cnblogs.com/files/xiandedanteng/LeftInnerNotExist20191222.rar 人们总是喜欢给出或是得到一个简单明 ...
 - Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)
			
Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...
 - mysql插入报错:java.sql.SQLException: Incorrect string value: '\xE6\x9D\xAD\xE5\xB7\x9E...' for column 'address' at row 1
			
界面报错: 日志报错: java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQLExcep ...
 - java Random 带权重的随机选择
			
实际场景中,经常要从多个选项中随机选择一个,不过,不同选项经常有不同的权重. /** * Created by xc on 2019/11/23 * 带权重的随机选择 */ public class ...
 - C# 发送Post请求(带参数)
			
此处内容传输都是用UTF-8编码 1.不带参数发送Post请求 /// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// </summary> ...
 - GO语言  文件操作实例
			
package main import ( "bufio" "fmt" "io/ioutil" "os" ) func ...