redis字符串类型的基本命令
1、redis字符串类型键的设置
- 命令名称:SET
- 语法:set key value [EX seconds] [PX milliseconds] [NX|XX]
- 功能:给一个key添加字符串类型的值,如果该key已经存在,值会被新值覆盖,不论是上面类型的key。set设置后的键,之前的生存时间会被丢弃。
- 选项:EX seconds(生存时间:秒)/PX milliseconds(生存时间:毫秒)/NX(仅在键不存在时设置)/XX(仅在键存在时设置)
- 返回值:如果设置成功返回OK,如果设置失败,返回nil。
- 命令名称:MSET
- 语法:set key value [key value...]
- 功能:
- 1)同时设置多个key,如果key存在会覆盖。
- 2)MSET是原子的,所有键会同时设置成功或者失败。
- 返回值:如果设置成功返回OK,如果设置失败,返回nil。
- 命令名称:SETEX
- 语法:setex key seconds value
- 功能:
- 1)给一个键设置为字符串类型,并指定生存时间(单位:秒)。
- 2)该命令是原子的,如果设置失败或者指定生存时间失败,会恢复原始状态。
- 返回值:如果设置成功返回OK,如果设置失败,返回错误信息。
- 命令名称:PSETEX
- 语法:psetex key milliseconds value
- 功能:
- 1)给一个键设置为字符串类型,并指定生存时间(单位:毫秒)。
- 2)该命令是原子的,如果设置失败或者指定生存时间失败,会恢复原始状态。
- 返回值:如果设置成功返回OK,如果设置失败,返回错误信息。
- 命令名称:SETNX
- 语法:SETNX key value
- 功能:1)如果key不存在,将其设置为字符串类型。
- 返回值:如果设置成功返回1,如果设置失败,返回0。
- 命令名称:MSETNX
- 语法:MSETNX key value [key value...]
- 功能:
- 1)同时设置多个key,如果一个key存在则设置失败,不考虑其他键是否存在。
- 2)MSETNX是原子的,所有键会同时设置成功或者失败。
- 返回值:如果都设置成功返回1,如果设置失败,返回0。
- 命令名称:setrange
- 语法:setrange key offset value
- 功能:
- 1)修改或者设置一个键的字符串类型值的内容。
- 2)如果键不存在,就设置一个新的,并且补充offset个null,再加入value,换句话说,值为“offset个null+value”。
- 3)如果键已经存在,从该键值offset处开始插入value,如果offset的值大于该键字符串长度,用null补充到该长度,再末尾插入value。
- 返回值:成功返回字符串长度,失败返回错误信息。
- 注意事项:1)offset最大值2^29-1
- 命令名称:append
- 语法:append key value
- 功能:1)如果key存在,则在后面追加value的内容。2)如果key不存在,会创建一个key,并设置其值为空字符串,并在后追加value的内容。
- 返回值:成功返回字符串长度。
2、redis字符串类型键的查询
- 命令名称:get
- 语法:get key
- 功能:查询key的值
- 返回值:如果键不存在,返回nil;如果key不是string类型,返回错误信息。
- 命令名称:mget
- 语法:mget key [key...]
- 功能:查询所有key的值。
- 返回值:1)列出所有键的值,绝不会执行失败,如果键是string类型,返回其值,如果键不存在或者不是string类型,返回nil
- 命令名称:getrange
- 语法:getrange key start end
- 功能:查询一个字符串的子串,子串的内容取决于start和end(两个参数都必需),start和end可以为负数,-1代表最后一个字符,-2代表倒数第二个字符。
- 返回值:如果key存在,返回字符串的子串内容,如果key不存在,返回空字符串,如果key不是string类型,返回错误信息。
- 命令名称:strlen
- 语法:strlen key
- 功能:返回key的字符串长度。
- 返回值:字符串长度,如果key不存在返回0,如果不是字符串类型,返回错误信息。
- 命令名称:getset
- 语法:getset key value
- 功能:原子的给一个key设置value并且将旧值返回。
- 返回值:如果key不是字符串类型,返回一个错误。
- 应用场景:获取计数器并且重置为0
3、redis字符串类型键的计数操作
- 命令名称:incr
- 语法:incr key
- 功能:将key中储存的数字值增1,如果key不存在,那么key的值会先被初始化为0,然后再执行incr操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行INCR命令之后key的值。
- 命令名称:incrby
- 语法:incrby key increment
- 功能:将key中储存的数字值加上增量increment,如果key不存在,那么key的值会先被初始化为0,然后再执行incrby操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行INCRBY命令之后key的值。
- 命令名称:incrbyfloat
- 语法:incrbyfloat key increment
- 功能:
- 1)将key中储存的数字值加上浮点数增量increment,如果key不存在,那么key的值会先被初始化为0,然后再执行incrbyfloat操作。
- 2)可以使用科学技术法。
- 返回值:执行成功过返回更新以后的值,执行失败返回错误信息。
- 命令名称:decr
- 语法:decr key
- 功能:将key中储存的数字值减1,如果key不存在,那么key的值会先被初始化为0,然后再执行decr操作。本操作的值限制在64位有符号数字表示之内。key的值必须是整型。
- 返回值:1)如果值包含错误的类型,或字符串类型的值不能表示为数字,返回一个错误/如果执行成功,返回执行decr命令之后key的值。
decrby 同incrby
redis字符串类型的基本命令的更多相关文章
- Redis字符串类型相关操作命令
string是redis最基本的类型,可以包括任何类型数据,如jpg图片或者序列化对象. 单个value最大上限是1G字节 如果只使用string类型,redis就可以被看做具有持久化特性的memca ...
- Redis字符串类型的操作
set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 注: 如果ex ...
- Redis字符串类型
字符串是Redis中最基本的数据类型,他能存储任何形式的字符串,包括二进制数据. 命令 赋值 SET key value > SET key hello OK 取值 GET key > G ...
- redis字符串类型键的二进制操作
命令名称:setbit 语法:setbit key offset value 功能: 1)对key所存储的字符串值,设置或清除指定偏移量上的位(bit),位的设置或清除取决于value参数,可以是0也 ...
- redis字符串基本操作
redis之字符串类型: 字符串类型是redis中最基本的数据类型,同时它也是memcached中仅有的数据类型.redis字符串类型的键能存储任何形式的字符串,包括二进制数据,例如,存储json化的 ...
- redis的安装和类型及基本命令
一.memcached和redis区别 1. redis 可以存储,memcached用来缓存, 2. 数据类型,memcached只有string:redis有string,链表,哈希结构,集合,有 ...
- StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...
- Redis命令拾遗一(字符串类型)
文章归博客园和作者“蜗牛”共同所有 .转载和爬虫请注明原文Redis系列链接 http://www.cnblogs.com/tdws/tag/NoSql/ Redis有五种基本数据类型.他们分别是字符 ...
- Redis常用命令入门1:字符串类型命令
Redis总共有五种数据类型,在学习的时候,一定要开一个redis-cli程序,边看边练,提高效率. 一.最简单的命令 1.获得符合规则的键名列表 keys * 这里的*号,是指列出所有的键,同时*号 ...
随机推荐
- 胜利点 选题 Scrum立会报告+燃尽图 02
此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8683] 一.小组介绍 组长:贺敬文 组员:彭思雨 王志文 位军营 杨萍 ...
- Java-JUC(零):Java:现有线程T1/T2/T3,如何确保T1执行完成之后执行T2,T3在T2执行完成之后执行。
要实现多个线程执行完成先后,就要知道如何实现线程之间的等待,java线程等待实现是join.java的jdk中join方法实现如下: public final synchronized void jo ...
- android: 使用android逆向助手反编译APK
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...
- 亲历谷歌 Chrome 浏览器弹窗境外广告的解决方法(图) | 技术乐园
亲历谷歌 Chrome 浏览器弹窗境外广告的解决方法(图) | 技术乐园 转 https://www.hack520.com/338.html 谷歌的 Chrome 浏览器是我非常喜欢的一款的浏览器, ...
- android中SpannableString之富文本显示效果
SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法 ...
- lua字符串处理(string库用法)
原文地址http://www.freecls.com/a/2712/f lua的string库是用来处理字符串的,基础函数如下 string.byte(s [, i [, j]]) string.by ...
- Facebook libra开发者文档- 2 -Libra Protocol: Key Concepts核心概念
Libra Protocol: Key Concepts https://developers.libra.org/docs/libra-protocol Libra区块链是一个加密认证的分布式数据库 ...
- 最简易的python web框架的后端实现
1.源代码 #!/usr/bin/python #encoding=utf-8 from flask import json, Flask, request app = Flask(__name__) ...
- Could not find conda environment: tensorflow | anaconda激活环境
问题:在使用Anaconda Prompt时activate tensorflow时出现Could not find conda environment: tensorflow. 解答: 因为大家在使 ...
- OpenStack Heat模板内部函数
Heat模板内部函数又称为Intrinsic functions. 注:Intrinsic functions只能用在 resource 的 properties 段 和 outputs 中. ...