03_redis_python操作redis
时间:2019-09-17
本文章向大家介绍03_redis_python操作redis,主要包括03_redis_python操作redis使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import redis
# 封装
class MyRedisList(object):
"""python操作redis数据的封装"""
def __init__(self, db=0, decode=True):
# 1. 连接
self.conn = redis.StrictRedis(db=db, decode_responses=decode)
def insert(self, key, values, default='l'):
"""redis数据库list数据类型的插入"""
if default == 'l':
# self.conn.lpush(key, *values)
for v in values:
self.conn.lpush(key, v)
else:
# self.conn.rpush(key, *values)
for v in values:
self.conn.rpush(key, v)
def find(self, key, index=0, end_index=None):
if end_index:
return self.conn.lrange(key, index, end_index) # 查看一定范围内的values
else:
return self.conn.lindex(key, index) # 查看指定下标的value
def update(self, key, index, new_value):
self.conn.lset(key, index, new_value) # 修改指定下标的value
def delete(self, key, count=0, value=None, default='l'):
if value:
self.conn.lrem(key, count, value)
elif default=='l':
self.conn.lpop(key) # 随机删除第一个
elif default=='r':
self.conn.rpop(key) # 删除最后一个
else:
print('格式错误,请检查好后重试')
exit()
if __name__ == '__main__':
myredislist = MyRedisList(db=3)
# 增
# myredislist.insert('list_1', 'v1', 'v2', 'v3') # 默认为左加
# myredislist.insert(key='list_1', values=['v4', 'v5', 'v6'], default='r') # 右插入,相当在最后面追加
# myredislist.insert(key='list_1', values=['v1', 'v2', 'v4', 'v4', 'v4', 'v5'], default='r') # 右插入,相当在最后面追加
# myredislist.insert(key='list_1', values=['v4', 'v4', 'v5', 'v2'])
res = myredislist.find('list_1', end_index=-1)
print('初始数据:{}'.format(res))
# 改
myredislist.update(key='list_1', index=0, new_value='000000')
res = myredislist.find('list_1', index=0, end_index=-1)
print('把索引为0的修改为000000后:{}'.format(res))
# 删
myredislist.delete('list_1', 2, 'v4')
res = myredislist.find('list_1', index=0, end_index=-1)
print('删除2个"v4"后:{}'.format(res))
myredislist.delete('list_1') # 默认删除最(后)左边的一个
print('删除第一个后:{}'.format(myredislist.find('list_1', 0, -1)))
myredislist.delete('list_1', default='r') # 删除头部(最右边的)一个
print('删除最后一个后:{}'.format(myredislist.find('list_1', index=0, end_index=-1)))
import redis
# 1. 建立连接
conn = redis.StrictRedis(db=3, decode_responses=True)
# 建立连接后, 对于redis来说, 就可以直接使用redis命令了, 与redis命令会很相似
# 2. 使用命令 list
# 增
conn.rpush('list_1', 'v1', 'v2') # 从尾部添加
conn.lpush('list_2', 'v1', 'v2') # 从头部添加
# 查
res = conn.lrange('list_1', 0, 10) # 查找0-10这个索引范围内的value
print(res)
res = conn.lindex('list_2', 1) # 查找指定索引的value
print(res)
# 改
conn.lset('list_1', 1, 'new_value') # 修改指定索引的value
#
# 删
# # res = conn.lpop('list_1')
# # print(res)
res = conn.rpop('list_1')
print(res)
原文地址:https://www.cnblogs.com/nichengshishaonian/p/11534338.html
- 那些年我们的(具有含金量)MySQL测试题目
- Java 异常处理之 论 finally块何时候不走
- Java 中的异常处理机制
- Java 关于接口的那点事儿
- 论 Java 中的内存分配
- Javascript基础回顾 之(一) 类型
- Javascript基础回顾 之(三) 面向对象
- Javascript基础回顾 之(二) 作用域
- 一不小心写了个WEB服务器
- 遍历算法(1)
- Membership三步曲之入门篇 - Membership基础示例
- Java-String.intern的深入研究
- 从Membership 到 .NET4.5 之 ASP.NET Identity
- Membership三步曲之进阶篇 - 深入剖析Provider Model
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PLSQL-简单的语句块及变量的定义
- Python 技术篇-使用PIL库等比例压缩、缩小图片
- linux 安装并配置zsh
- 听音乐不过瘾?自制一个音乐播放器!【附带函数源码】
- Python 技术篇-3行代码实现Gif动画生成,Gif动画素材获取方法
- Linux 文件隐藏权限
- 还在用print()查找错误?日志消息这顿排骨它不香嘛?
- CNS图表复现02—Seurat标准流程之聚类分群
- Python 技术篇-莉莉机器人api调用方法,实例演示。免费的机器人
- Hugo Travis 完结!
- 【Python】秀儿!两行代码制作你的专属动态二维码
- Windows 技术篇-网卡物理(MAC)地址查看方法
- Go使用工厂方法实例结构体
- Java交互界面实现计算器开发设计【附函数源码】
- Python 技术篇-读取本地文件的字节数