python redis 的基本操作指令
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
redis基本命令和基本用法详解
1.redis连接
2.redis连接池
3.redis基本命令
3.1 string
3.2 hash
3.3 list
3.4 set
3.5 有序set
4.其他常用的操作
5.example
'''
import redis #导入官方包 '''
1.redis conncetion
redis-py 提供两个类的连接方式,Redis和StrictRedis用于实现Redis的命令
trictRedis用于实现大部分官方的命令,并使用官方的语法和命令,
Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py
'''
def redis_connect(): #host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
r = redis.Redis(host= "192.168.10.130", port = 6379, db = 0)
#key是"foo" value是"bar" 将键值对存入redis缓存
r.set('foo', 'Bar')
#取出键foo对应的值
print r.get('foo') '''
2.redis connection pool
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。
'''
def redis_connect_pool(): #host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
pool = redis.ConnectionPool(host='192.168.10.130', port=6379, db = 0)
#建立链接实例
r = redis.Redis(connection_pool=pool)
# key是"foo" value是"bar" 将键值对存入redis缓存
r.set('foo', 'Bar')
# 取出键foo对应的值
print r.get('foo') '''
3.redis基本命令
3.1 string
set(name, value, ex=None, px=None, nx=False, xx=False)
在Redis中设置值,默认,不存在则创建,存在则修改参数:
ex,过期时间(秒)
px,过期时间(毫秒)
nx,如果设置为True,则只有name不存在时,当前set操作才执行
xx,如果设置为True,则只有name存在时,当前set操作才执行
'''
def redis_string(): # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379
pool = redis.ConnectionPool(host='192.168.10.130', port=6379, db=0)
# 建立链接实例
r = redis.Redis(connection_pool=pool) #1.ex,过期时间(秒) 这里过期时间是3秒,3秒后键foo的值就变成None
r.set('foo','Bar',ex = 3)
print r.get('foo') #2.px,过期时间(豪秒) 这里过期时间是3豪秒,3毫秒后,键foo的值就变成None
r.set('foo', 'bar',px = 3)
print r.get('foo') #3.nx,如果设置为True,则只有name不存在时,当前set操作才执行 (新建)
r.set('foo', 'bar',nx = True) #4.xx,如果设置为True,则只有name存在时,当前set操作才执行 (修改)
r.set('foo', 'bar',xx = True) #5.setnx(name, value) 设置值,只有name不存在时,执行设置操作(添加)
r.setnx('foo2', 'bar2') #6.setex(naem,value, time) 设置值, 超过过期时间(秒),time后就变为None
r.setex('foo3', 'bar3', 5) #7.psetex(name, time_ms, value) 设置值,超过过期时间(毫秒),值就编程了None
r.psetex('foo', 5000, "bar")
print r.get("foo") #8.mset(*args, **kwargs) 批量的设置值,参数为字典,或者队列
r.mset(k1 = 'v1', k2 = 'v2') #这里k1 和k2 不能带引号 一次设置对个键值对
print r.mget("k1", "k2") #一次取出多个键对的值
print r.mget("k1") #9.mget(keys, *args) 批量获取
r.mget('ylr', 'wupeiqi')
print r.mget("foo", "foo1", "foo2", "k1", "k2") #10.getset(name, value) 设置新值并获取原来的值
print r.getset("foo1", "bar_NEW") #输出的值为旧值bar #11.getrange(key, start, end) 获取子序列
r.set("foo1", "成都市")
print r.getrange("foo1", 0, 2) #切片操作,取前三位字节 #12.setrange(nemw,offset, value) 修改字符串内容,从指定字符串索引开始向后替换
r.setrange("foo1", 1, "aaa")
print r.get("foo1") #值大概为baaanew 原始值为bar_new #13.setbit(name, offset, value) 对key应的值的二进制进行位操作
r.setbit("n1", 7, 1) #将n1对应的值的二进制第7位改为1
作 者:小闪电
出处:http://www.cnblogs.com/yueyanyu/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。如果觉得本文对您有益,欢迎点赞、欢迎探讨。本博客来源于互联网的资源,若侵犯到您的权利,请联系博主予以删除。
python redis 的基本操作指令的更多相关文章
- redis的基本操作指令
https://www.cnblogs.com/woshimrf/p/5198361.html
- 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷
简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...
- python+redis测试环境搭建
针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...
- java对redis的基本操作,ZZ
java对redis的基本操作 http://www.cnblogs.com/edisonfeng/p/3571870.html
- Python redis 简单介绍
Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...
- 生产消费者模式与python+redis实例运用(中级篇)
上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程 ...
- 生产消费者模式与python+redis实例运用(基础篇)
根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃:还有一个选择,做 ...
- python redis中blpop和lpop的区别
python redis 中blpop返回的是元组对象,因此返回的时候注意 lpop返回的是对象
- windows中实现python,redis服务自动重启(任务计划程序+bat脚本)
需求:银行电脑无法自动开机,只能 通过 应用相关服务每天自动重启的方式实现 服务更新并且防止服务假死,内存过大 等情况 相关工具:win10系统中,使用windows自带的任务计划程序 和 bat脚本 ...
随机推荐
- [清华集训]Rmq Problem / mex
题目链接 我们离线处理这些询问 在右端点所在的位置用vector来push_back询问 维护每个数值最后出现的位置p[x] 从左往右扫,边走边回答询问 对于每个询问我们回答第一个p[x]<l的 ...
- js获取url中参数名也参数值
要撮利用js获取url中参数名也参数值这个不多见了,但我今天需要这样操作,下面我来给大家介绍一下具体的实例方法. 在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到. js的实现方法如下 ...
- PHP自定义函数&数组
<?php//生成随机数 和 时间函数//echo rand();//echo "<br>";//echo rand(0,10);//echo time();// ...
- CSS 小结笔记之定位
定位也是Css中一个非常强大的属性.定位主要是用来移动盒子,将其移动到我们想要的位置. 定位分为两部分 1.边偏移 left | right |top |bottom:偏移大小:(边偏移一般制定上就不 ...
- spring boot(14)-pom.xml配置
继承spring-boot-starter-parent 要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本 & ...
- TreeView控件概述、属性与方法
1.作用:用于显示Node结点的分层列表.2.添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.03.TreeView控 ...
- Windows未能启动:0xc00000e9错误
问题:计算机无法启动,错误代码为:0xc00000e9 解决方法: 1.如报错所示,\Windows\System31\config\system 文件丢失或损坏: 2.如许修复此问题,需在打开此目录 ...
- Maven构建时跳过部分测试
当遇到以下场景: 其他人写的单元测试影响统计结果 一些需要调用外部接口的测试暂不运行 需要在非本机环境上运行一些不回滚的单元测试 则有必要选择以下方法跳过部分测试. 在测试用例前加上注解 @Ignor ...
- 单纯形算法 matlab
%单纯形 %目标函数标准化 % min x1-3x2+2x3 %输入参量 N=[3 -1 2;-2 4 0;-4 3 8]; B=eye(3); A=[N B]; cn=[1;-3;2]; cb=ze ...
- 如何创建一个Quartz.NET的工作,需要注射autofac
问题: 使用 Quartz.Net 做定时任务时,实现IJob对象的服务,Autofac不会自动注入,使用构造函数会直接出现异常,无法执行Execute方法. 解决方式 方法一: 使用 Autofac ...