redis(七):Redis 字符串(String)(python)
# -*- coding: utf-8 -*-
import redis
#这个redis不能用,请根据自己的需要修改
r =redis.Redis(host="123.516.74.190",port=6379,password="6666666666")
1.SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
print r.set('123','123') # 插入成功后返回True
print r.set('123','[123,dffd]') # 插入成功后返回True
2. Get 命令用于获取指定 key 的值。如果 key 不存在,返回 None 。如果key 储存的值不是字符串类型,返回一个错误。
print r.get('123') #返回的结果是[123,dffd]
print r.get('1234')#返回的结果是 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('1','1') #返回的结果是 True
print r.set('11','11') #返回的结果是 True
print r.set('111','111') #返回的结果是 True
print r.mget('1','11','111') #返回的结果是 ['1', '11', '111']
print r.mget('1','11','222222') #因为键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('1','123',10) #返回的结果是 True
import time
time.sleep(5)
print r.ttl('1') #返回的结果是 4
print r.get('1') #返回的结果是 123
time.sleep(6)
print r.get('1') #返回的结果是 None

9.Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。设置成功,返回 1 。 设置失败,返回 0 。
print r.exists('22') #返回的结果是 False
print r.setnx('22','2222222') #返回的结果是 True
print r.setnx('22','123456') #返回的结果是 False
print r.get('22') #返回的结果是 2222222
10. Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。
print r.set('11','hello world') #返回的结果是 True
print r.setrange('11',6,"redis") #返回的结果是 11
print r.get('11') #返回的结果是 hello redis
11. Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
print r.get('11') #返回的结果是 hello redis
print r.strlen('11') #返回的结果是 11
print r.strlen('121') # 当key不存在的时候,返回的结果是 0
12.Mset 命令用于同时设置一个或多个 key-value 对。

#第一种方法
print r.mset(name1="1", name2='2') #返回的结果是 True
#第二种方法
print r.mset({"name3":'3', "name4":'4'}) #返回的结果是 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="5", name6='6') #返回的结果是 True
print r.msetnx(name5="55", name7='7') #返回的结果是 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('11',20) #返回的结果是 True
print r.incr('11') #返回的结果是 21
print r.get('11') #返回的结果是 21
print r.incr('11',amount=2) #返回的结果是 23
print r.get('11') #返回的结果是 23
print r.incr('21',amount=2) #返回的结果是 2
print r.incr('22') #返回的结果是 1

16.Redis Incrby 命令将 key 中储存的数字加上指定的增量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
print r.set("13",13) #返回的结果是 True
print r.incrby('13',12) #返回的结果是 25
print r.incrby('15',12) #返回的结果是 12
print r.incrby('15',12) #返回的结果是 24
17.Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。
如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。
print r.set('1',1.1) #返回的结果是 True
print r.incrbyfloat('1',2.32) #返回的结果是 3.42
print r.get('1') #返回的结果是 3.42
print r.incrbyfloat('1',amount=1.2) #返回的结果是 4.62
18.Redis Decr 命令将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
print r.decr('22') #如果 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("11",12) #返回的结果是 True
print r.append('11',12) #返回的结果是 4
print r.append('11',1) #返回的结果是 5
print r.append('11',2) #返回的结果是 6
print r.get('11') #返回的结果是 121212
print r.exists('14') #返回的结果是 False
print r.append('14','hello world') #返回的结果是 11
print r.get('14') #返回的结果是 hello world
redis(七):Redis 字符串(String)(python)的更多相关文章
- redis 基本数据类型-字符串(String)
不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...
- Redis数据类型之字符串String
String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key 设置键值和获取值 ...
- Python操作redis字符串(String)详解 (三)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...
- Redis学习03——存储字符串(String)
--------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118 ...
- Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)
Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...
- Redis字符串(STRING)中BIT相关命令
上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是没有涉及到BIT相关的命令,本文我们就来看看几个和BIT相关的命令. 本文是Redis系列的第四篇文章,了解前面的文章有助于更好的理解 ...
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...
- Redis 字符串(String)
Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 12 ...
- redis(六):Redis 字符串(String)
Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127. ...
随机推荐
- BUAA_OO_2020_Unit2_总结博客
BUAA_OO_2020_Unit2_总结 2020年春季学期第八周,OO第二单元落下帷幕,三次多线程任务作罢,萌新在OO的世界里又迈出了艰难但有意义的一步,下作总结: 一.三次作业设计策略 回顾三次 ...
- Asp.Net Core入门之自定义中间件
什么是中间件? 这里引用官方解释: 中间件是用于组成应用程序管道来处理请求和响应的组件.管道内的每一个组件都可以选择是否将请求交给下一个组件.并在管道中调用下一个组件之前和之后执行某些操作.请求委托被 ...
- Java 源码刨析 - HashMap 底层实现原理是什么?JDK8 做了哪些优化?
[基本结构] 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的: JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的 ...
- c++的两个冒号::四个点是什么意思,什么作用呢?
c++的两个冒号::四个点是什么意思,什么作用呢? 双冒号(::)用法 (1)表示“域操作符”例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定 ...
- 基于web网站项目的性能测试结果分析
业务背景: 最近公司研发了一款对并发要求比较高的web项目,需要对其压力测试,模拟线上可能存在的问题,这个过程中遇到一些很多问题,这里重新梳理一下思路,希望能给遇到同样问题的小伙伴提供一个参考. 工具 ...
- 测试同学动手搭个简易web开发项目
技术栈 node.js, vue.js, axios, python, django, orm, restful api, djangorestframework, mysql, nginx, jen ...
- 为什么 char c = 'A';c += 32; 结果输出的是 'a'?
首先 char 类型的数据只要参与运行会先转换为 int 类型数值(在 ASCII 编码表中 'A' 对应十进制的 65),那么 'A' 转换为 int 为 65,65 + 32 = 97,+= 包含 ...
- java使字符串的数字加一
/** * 字符串+1方法,该方法将其结尾的整数+1,适用于任何以整数结尾的字符串,不限格式,不限分隔符. * @author zxcvbnmzb * @param testStr 要+1的字符串 * ...
- 【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官!
写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识.今天,我们就来一起聊聊@Value注解的用法. 项目工程源码已经提交到Gi ...
- PAT A1003 Emergency 题解
PAT A1003 Emergency PAT A1003 Emergency 题目简述: 原题为英文题目,所以在这里简述一下题意: 给定n个点和m条无向路以及起点.终点 下面一行n个数,第i个数表示 ...