#!/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 的基本操作指令的更多相关文章

  1. redis的基本操作指令

    https://www.cnblogs.com/woshimrf/p/5198361.html

  2. 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷

    简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...

  3. python+redis测试环境搭建

    针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...

  4. java对redis的基本操作,ZZ

    java对redis的基本操作 http://www.cnblogs.com/edisonfeng/p/3571870.html

  5. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  6. 生产消费者模式与python+redis实例运用(中级篇)

    上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程 ...

  7. 生产消费者模式与python+redis实例运用(基础篇)

    根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃:还有一个选择,做 ...

  8. python redis中blpop和lpop的区别

    python redis 中blpop返回的是元组对象,因此返回的时候注意 lpop返回的是对象

  9. windows中实现python,redis服务自动重启(任务计划程序+bat脚本)

    需求:银行电脑无法自动开机,只能 通过 应用相关服务每天自动重启的方式实现 服务更新并且防止服务假死,内存过大 等情况 相关工具:win10系统中,使用windows自带的任务计划程序 和 bat脚本 ...

随机推荐

  1. [清华集训]Rmq Problem / mex

    题目链接 我们离线处理这些询问 在右端点所在的位置用vector来push_back询问 维护每个数值最后出现的位置p[x] 从左往右扫,边走边回答询问 对于每个询问我们回答第一个p[x]<l的 ...

  2. js获取url中参数名也参数值

    要撮利用js获取url中参数名也参数值这个不多见了,但我今天需要这样操作,下面我来给大家介绍一下具体的实例方法.   在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到. js的实现方法如下 ...

  3. PHP自定义函数&数组

    <?php//生成随机数 和 时间函数//echo rand();//echo "<br>";//echo rand(0,10);//echo time();// ...

  4. CSS 小结笔记之定位

    定位也是Css中一个非常强大的属性.定位主要是用来移动盒子,将其移动到我们想要的位置. 定位分为两部分 1.边偏移 left | right |top |bottom:偏移大小:(边偏移一般制定上就不 ...

  5. spring boot(14)-pom.xml配置

    继承spring-boot-starter-parent 要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本 & ...

  6. TreeView控件概述、属性与方法

    1.作用:用于显示Node结点的分层列表.2.添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.03.TreeView控 ...

  7. Windows未能启动:0xc00000e9错误

    问题:计算机无法启动,错误代码为:0xc00000e9 解决方法: 1.如报错所示,\Windows\System31\config\system 文件丢失或损坏: 2.如许修复此问题,需在打开此目录 ...

  8. Maven构建时跳过部分测试

    当遇到以下场景: 其他人写的单元测试影响统计结果 一些需要调用外部接口的测试暂不运行 需要在非本机环境上运行一些不回滚的单元测试 则有必要选择以下方法跳过部分测试. 在测试用例前加上注解 @Ignor ...

  9. 单纯形算法 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 ...

  10. 如何创建一个Quartz.NET的工作,需要注射autofac

    问题: 使用 Quartz.Net 做定时任务时,实现IJob对象的服务,Autofac不会自动注入,使用构造函数会直接出现异常,无法执行Execute方法. 解决方式 方法一: 使用 Autofac ...