# -*- coding: utf-8 -*-
import redis
#这个redis不能用,请根据自己的需要修改
r =redis.Redis(host="123.516.74.190",port=6379,password="")
1.SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
print r.set('','') # 插入成功后返回True
print r.set('','[123,dffd]') # 插入成功后返回True
2. Get 命令用于获取指定 key 的值。如果 key 不存在,返回 None 。如果key 储存的值不是字符串类型,返回一个错误。
print r.get('') #返回的结果是[123,dffd]
print r.get('')#返回的结果是 None
3. Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
print r.set('getrange','wo shi hao ren ')
print r.getrange('getrange',2,4) #返回的结果是sh
print r.getrange('getrange',2,6) #返回的结果是shi
print r.getrange('getrange',2,10) #返回的结果是shi hao
4.Getset 命令用于设置指定 key 的值,并返回 key 旧的值,当 key 存在但不是字符串类型时,返回一个错误。
print r.getset('getrange','hello word') #返回的结果是wo shi hao ren
print r.getset('getrange11','hello word') #当键不存在的时候,返回的结果是None
5.Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)字符串值指定偏移量上的位(bit)。当偏移量 getrange 比字符串值的长度大,或者 key 不存在时,返回 0。
print r.get('getrange') #返回的结果是 hello word
print r.getbit('getrange',1) #返回的结果是 1
print r.getbit('getrange',3) #返回的结果是 0
print r.getbit('getr22222ange',3) #字符串的键不存在的时候返回的结果是 0
print r.getbit('getrange',300) #偏移量超过字符串长度,返回的结果是 0
6.Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 None
print r.set('','') #返回的结果是 True
print r.set('','') #返回的结果是 True
print r.set('','') #返回的结果是 True
print r.mget('','','') #返回的结果是 ['1', '11', '111']
print r.mget('','','') #因为键222222不存在,返回的结果是 ['1', '11', None]
7. Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
print r.get('getrange') #返回的结果是 hello word
print r.setbit('getrange',4,10086) #返回的结果是 1
print r.getbit('getrange',10086) #返回的结果是 0 print r.setbit('getrange',5,100861) #返回的结果是 0
print r.getbit('getrange',100861) #返回的结果是 0
8.Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
print r.setex('','',10) #返回的结果是 True
import time
time.sleep(5)
print r.ttl('') #返回的结果是 4
print r.get('') #返回的结果是 123
time.sleep(6)
print r.get('') #返回的结果是 None
9.Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。设置成功,返回 1 。 设置失败,返回 0 。
print r.exists('') #返回的结果是 False
print r.setnx('','') #返回的结果是 True
print r.setnx('','') #返回的结果是 False
print r.get('') #返回的结果是 2222222
10. Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。
print r.set('','hello world') #返回的结果是 True
print r.setrange('',6,"redis") #返回的结果是 11
print r.get('') #返回的结果是 hello redis
11. Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
print r.get('') #返回的结果是 hello redis
print r.strlen('') #返回的结果是 11
print r.strlen('') # 当key不存在的时候,返回的结果是 0
12.Mset 命令用于同时设置一个或多个 key-value 对。
#第一种方法
print r.mset(name1="", name2='') #返回的结果是 True
#第二种方法
print r.mset({"name3":'', "name4":''}) #返回的结果是 True
print r.get('name1') #返回的结果是 1
print r.get('name2') #返回的结果是 2
print r.get('name3') #返回的结果是 3
print r.get('name4') #返回的结果是 4
13. Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。
当所有 key 都成功设置,返回 1 。 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。
print r.msetnx(name5="", name6='') #返回的结果是 True
print r.msetnx(name5="", name7='') #返回的结果是 False print r.get('name5') #返回的结果是 5
print r.get('name6') #返回的结果是 6
print r.get('name7') #返回的结果是 None
14. Psetex 命令以毫秒为单位设置 key 的生存时间。主意:SETEX 命令那样,以秒为单位。
print r.psetex('name8',1000,"nihao") #返回的结果是 True
print r.pttl('name8') #返回的结果是 690
print r.get('name8') #返回的结果是 nihao 时间过期后返回的是 None
15.Incr 命令将 key 中储存的数字值增一
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
print r.set('',20) #返回的结果是 True
print r.incr('') #返回的结果是 21
print r.get('') #返回的结果是 21
print r.incr('',amount=2) #返回的结果是 23
print r.get('') #返回的结果是 23
print r.incr('',amount=2) #返回的结果是 2
print r.incr('') #返回的结果是 1
16.Redis Incrby 命令将 key 中储存的数字加上指定的增量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
print r.set("",13) #返回的结果是 True
print r.incrby('',12) #返回的结果是 25
print r.incrby('',12) #返回的结果是 12
print r.incrby('',12) #返回的结果是 24
17.Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。
如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。
print r.set('',1.1) #返回的结果是 True
print r.incrbyfloat('',2.32) #返回的结果是 3.42
print r.get('') #返回的结果是 3.42
print r.incrbyfloat('',amount=1.2) #返回的结果是 4.62
18.Redis Decr 命令将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
print r.decr('') #如果 key 22 不存在,返回的结果是 -1
print r.set('bb',20) #返回的结果是 True
print r.decr('bb',amount=2) #返回的结果是 18
print r.decr('cc') #返回的结果是 -1
19. Redis Append 命令用于为指定的 key 追加值。
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
print r.set("",12) #返回的结果是 True
print r.append('',12) #返回的结果是 4
print r.append('',1) #返回的结果是 5
print r.append('',2) #返回的结果是 6
print r.get('') #返回的结果是 121212 print r.exists('') #返回的结果是 False
print r.append('','hello world') #返回的结果是 11
print r.get('') #返回的结果是 hello world
redis安装和配置(一) http://www.cnblogs.com/xuchunlin/p/6676308.html
redis学习 (key)键,Python操作redis 键 (二) http://www.cnblogs.com/xuchunlin/p/7061524.html
Python操作redis字符串(String)详解 (三) http://www.cnblogs.com/xuchunlin/p/7062065.html
Python操作redis系列以 哈希(Hash)命令详解(四) http://www.cnblogs.com/xuchunlin/p/7064860.html
Python操作redis系列之 列表(list) (五) http://www.cnblogs.com/xuchunlin/p/7067154.html
Python操作redis学习系列之(集合)set,redis set详解 (六)http://www.cnblogs.com/xuchunlin/p/7070267.html
python 操作redis之——有序集合(sorted set) (七) http://www.cnblogs.com/xuchunlin/p/7097272.html
python 操作redis之——HyperLogLog (八) http://www.cnblogs.com/xuchunlin/p/7097272.html
redis.windows.conf各项配置参数介绍 (九) http://www.cnblogs.com/xuchunlin/p/7097729.html
附录:redis string 命令
命令 |
描述 |
设置指定 key 的值 |
|
获取指定 key 的值。 |
|
返回 key 中字符串值的子字符 |
|
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。 |
|
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 |
|
获取所有(一个或多个)给定 key 的值。 |
|
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 |
|
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。 |
|
只有在 key 不存在时设置 key 的值。 |
|
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。 |
|
返回 key 所储存的字符串值的长度。 |
|
同时设置一个或多个 key-value 对。 |
|
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 |
|
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。 |
|
将 key 中储存的数字值增一。 |
|
将 key 所储存的值加上给定的增量值(increment) 。 |
|
将 key 所储存的值加上给定的浮点增量值(increment) 。 |
|
将 key 中储存的数字值减一。 |
|
key 所储存的值减去给定的减量值(decrement) 。 |
|
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 |
本文链接: http://www.cnblogs.com/xuchunlin/p/7062065.html
Python操作redis字符串(String)详解 (三)的更多相关文章
-
python设计模式之装饰器详解(三)
python的装饰器使用是python语言一个非常重要的部分,装饰器是程序设计模式中装饰模式的具体化,python提供了特殊的语法糖可以非常方便的实现装饰模式. 系列文章 python设计模式之单例模 ...
-
python接口自动化(三十八)-python操作mysql数据库(详解)
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
-
python 基本数据类型--字符串实例详解
字符串(str) :把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串 . 注意:python中没有单一字符说法,统一称叫字 ...
-
python操作redis之String操作
# __author__ = 'STEVEN' import redis,time # 方式1,直接链接操作 # r = redis.Redis(host='192.168.43.22',port=6 ...
-
Java字符串String详解
1.String字符串 实例化String对象: (1)直接赋值,如:String str="hello"; (2)使用关键字 new,如:String str=new Strin ...
-
Jedis客户端操作redis缓存命令详解
1.对value操作的命令 exists(key):确认一个key是否存在 del(key):删除一个key type(key):返回值的类型 keys(pattern):返回满足给定pattern的 ...
-
Python操作redis学习系列之(集合)set,redis set详解 (六)
# -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...
-
Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
-
Python操作redis系列之 列表(list) (四)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...
随机推荐
-
MVP模式(Android)
以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MV ...
-
浙大PAT-1002
1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...
-
去掉mysql数据库字段中的个别字符
update 表名 set 列名 = REPLACE (mcategory,"要去掉的字符","") where 列名 like "%要去掉的字符% ...
-
webApp--cordova 系列1
1.在node,npm 可用的前提下 npm install -g cordova 大约10分钟后装完,cmd中输入cordova -v 验证是否安装成功 2.cordova项目打包是用ant完成, ...
-
浅谈B树
B树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: ...
-
.Net程序员安卓学习之路3:Post数据给网络API
本例我们实现一次真正的网络交互,将数据POST到API,然后接收服务器的返回值进行处理,同时引入自定义类型和传说中阿里的FastJson. 实现思路如: 1. 在API端接收客户POST的数据还原成对 ...
-
分析Model2系统心得
分析Model2系统心得 前言:观摩他人的项目,学到一些新的.实践经验呀!!! 1. 怎样使用字符串处理类?从页面获取的Form类或者字段取值时使用. 2.在验证用户身份时,先推断username, ...
-
(转载)file_get_contents(";php://input";)
(转载)http://taoshi.blog.51cto.com/1724747/1165499 $data = file_get_contents("php://input"); ...
-
python 删除文件夹
只能删除空文件夹,删除非空文件夹会报错 >>> import os >>> os.rmdir("/tmp/ssh-GyoPWOFZ47") Tr ...
-
JavaScript 经典笔记
JavaScript 是弱类型的语言,所以编译器不能检测出类型错误. JavaScript 依赖于全局变量来进行链接.所有编译单元的所有*变量被撮合到一个被称为全局对象(the global obj ...