#!/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. JS基础(四)之jQuery

    31.jQuery(http://jquery.com/)是一个快速.简洁的JavaScript框架. 它封装了JavaScript常用的功能代码,提供一种便捷的JavaScript设计模式,优化HT ...

  2. 了解RabbitMQ

    消息队列可以实现流量削峰.降低系统耦合度.提高系统性能等. RabbitMQ是一个实现了AMQP协议(Advanced Message Queue Protocol)的消息队列. RabbitMQ中的 ...

  3. python的学习笔记之——time模块常用内置函数

    1.Python time time()方法 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). time()方法语法: time.time() 举例: #! ...

  4. 强网杯2018 pwn复现

    前言 本文对强网杯 中除了 2 个内核题以外的 6 个 pwn 题的利用方式进行记录.题目真心不错 程序和 exp: https://gitee.com/hac425/blog_data/blob/m ...

  5. 鉴别JS数据类型的全套方法

    ECMAScript 标准定义了 7 种数据类型:Boolean.Null.Undefined.Number.String.Symbol(ES6新增)和Object,除Object以外的那6种数据类型 ...

  6. linux 命令及配置文件搜索命令which、whereis

    which /usr/bin/which 搜索命令所在目录及别名信息 which lsalias ls='ls --color=auto'/usr/bin/ls which rmalias rm='r ...

  7. DROP语句总结

    一.基本语句 通过使用 DROP 语句,可以轻松地删除索引.表和数据库.  1.DROP INDEX 语句 DROP INDEX 语句用于删除表中的索引. <!--用于 MS Access 的 ...

  8. 关于Nodejs开发桌面应用。NW.js 和 Electron 优缺点分析对比

    从开发角度来说,选择用 nw.js 还是 election ,区别其实不是很大.大部分工作还是在自己的 javascript 和 HTML 上.国内比较有名的,比如微信web开发工具.钉钉都是基于 n ...

  9. 关于springMVC的一些xml配置

    ①springMVC必备jar包: commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE. ...

  10. ps命令之排序

    Linux中ps命令会自动选择一列进行排序,但有时这不是我们想要的. 方法一: ps+sort sort 选项与参数: -f  :忽略大小写的差异,例如 A 与 a 视为编码相同:-b  :忽略最前面 ...