redis数据库list类型各方法封装成类

 1 import redis
 2
 3
 4 class MyRedisList(object):
 5     def __init__(self, key):
 6         self.key = key
 7         self.connection = redis.StrictRedis(db=0, decode_responses=True)
 8
 9     def add(self, direction="r", *values):  # 增加数据(lpush rpush)
10         if direction == "r":
11             self.connection.rpush(self.key, *values)
12         elif direction == "l":
13             self.connection.lpush(self.key, *values)
14
15     def pop(self, direction="r"):  # 删除数据(首尾)
16         if direction == "r":
17             self.connection.rpop(self.key)
18         elif direction == "l":
19             self.connection.lpop(self.key)
20
21     def rem(self, count, value):   # 指定位置删除
22         self.connection.lrem(self.key, count, value)
23
24     def get(self, index1, index2=False):  # 获取数据
25         if index2:
26             return self.connection.lrange(self.key, index1, index2)
27         elif index2 is False:
28             return self.connection.lindex(self.key, index1)
29
30     def update(self, index, values):  # 指定位置修改
31         self.connection.lset(self.key, index, values)
32
33
34 if __name__ == ‘__main__‘:
35     re = MyRedisList("my_list")
36     re.add("r", 1, 2, 3)
37     re.rem(0, 3)
38     re.update(2, "gkl")
39     print(re.get(0, -1))
40     print(re.get(4))

原文地址:https://www.cnblogs.com/gkl123/p/9746458.html

时间: 2024-07-31 10:23:45

redis数据库list类型各方法封装成类的相关文章

php 将汉字转换成拼音的方法封装成工具包

php 将汉字转换成拼音的方法封装成工具包,代码如下: <?php class PinyinTool { private static $pylist = array( 'a'=>-20319,'ai'=>-20317,'an'=>-20304,'ang'=>-20295,'ao'=>-20292, 'ba'=>-20283,'bai'=>-20265,'ban'=>-20257,'bang'=>-20242,'bao'=>-20230,'

利用文件头来实现的一些文件类型的方法封装

package com.opslab.util.algorithmImpl; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Iterator;import java.util.Map; /** * 利用文件头来实现的一些文件类型的方法封装 */publ

php使用GD库实现图片水印和缩略图——封装成类

学完了如何使用GD库来实现对图片的各种处理,那么我们可以发现,不管哪种方法,都有相似之处,如果我们把这些相似的地方和不相似的地方都封装成类,这样就可以提升代码的速度,而且节省了很多时间,废话不多说,来人,上代码! 首先,先创建一个PHP文件:class.php(自定义) 我们知道,在 在原始图片中添加文字水印:http://www.cnblogs.com/finalanddistance/p/7243346.html 在原始图片中添加图片水印:http://www.cnblogs.com/fin

Directx11学习笔记【二】 将HelloWin封装成类

我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 MyWindow.h文件 1 /************************************************************************ 2 Directx11学习笔记[2] 将HelloWin封装成类 3 2016.01 by zhangbaochong 4 /

redis数据库操作的C++简单封装

用c++简单封装了redis的基本操作(hiredis) 接口包括:①链接和断开连接.②设置键值对(set).③查询键值对(get).④删除键值对(del).⑤将所有键显示出来 若任何一处发生错误,返回对应的错误状态码,同时可以调用getErrorMsg()查看错误信息 所有码包括: M_REDIS_OK = 0, //执行成功 M_CONNECT_FAIL = -1, //连接redis失败 M_CONTEXT_ERROR = -2, //RedisContext返回错误 M_REPLY_ER

深入浅出Redis02 使用Redis数据库(String类型)

一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为String 的记录. 在客户端输入命令: C:\software\redis\64bit>redis-cli.exe -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> set foo test OK redis 127.0.0.1:6379> get fo

深入浅出Redis04使用Redis数据库(lists类型)

一  lists类型及操作 List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是sring类型的双向链表.我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样 list既可以作为栈,有可以作为队列. 二 lists类型的使用 1. lpush 在key对应list的头部添加字符串. redis 127.0.0.1:6379> lpush mylist1 world (in

structs2 jsp页面参数封装成类传递到action

中途切入一个系统的维护,而我又是菜鸟. 系统要实现从前端jsp页面输入查询条件,传入后台action进行处理.根据原来的系统本身的代码大概明白是jsp里ognl表达式传参数过去,但是一直不成功.百度各种办法,找到下面方法都试过,好像都不行.找耳挠腮搞半天才发现,我ognl表达式里的值得大小写和action里的类实例名不一致,真是不能更二咯-.- 对齐了jsp里的ognl表达式和action里的类实例名后,问题解决了.把我搜到的structs2 jsp传参数到后台action的方法记录下来,抄一遍

python爬虫补充章,在总控节点那台机器上安装mongodb和redis数据库 都是非apt方法

因为发现爬虫爬取出来的数据如果按照表结构划分后存储,不仅麻烦而且非常大的冗余 干脆试试用这样的非关系数据库来试试存储效果如何. 这里我不打算用redis 进行比较,因为他是内存数据库,他擅长的领域应该是缓存和少量数据的统计归类 (做这个的还有另外一大家伙memcache),redis 以后相配合 其他应用提高效率的. 这里相比较的主要是mongodb和mysql 的性能差,就特定指的是这样复杂的关系网络的应用环境下!! apt-cache depends #(package 了解使用依赖) ap