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 * 这里的*号,是指列出所有的键,同时*号 ...
随机推荐
- Windows 下 把EXE 程序变成服务运行
1. 下载 instsrv.exe 和 srvany.exe 我下载的地址 [点击打开链接][https://www.cr173.com/soft/64394.html] 2. cmd cd ...
- socket服务端开发之测试使用threading和gevent框架
socket服务端开发之测试使用threading和gevent框架 话题是测试下多线程和gevent在socket服务端的小包表现能力,测试的方法不太严谨,也没有用event loop + pool ...
- PHP松散比较与严格比较的区别详解
在PHP中相等的比较有两种,松散比较和严格比较,当使用松散比较时,如果进行比较的两个操作数类型不同,那么会对操作数进行适当的类型转换,如果转换后的值相同则认为两个操作数相等.而使用严格比较时,如果两个 ...
- List的remove()方法的三种正确打开方式
转: java编程:List的remove()方法的三种正确打开方式! 2018年08月12日 16:26:13 Aries9986 阅读数 2728更多 分类专栏: leetcode刷题 版权声 ...
- Git——起步(待续)
原文链接:Getting Started with Git
- 使用Lock对象实现同步效果
Lock是一个接口,为了使用一个Lock对象,需要用到 Lock lock = new ReentrantLock(); 与 synchronized (someObject) 类似的,loc ...
- Qt编写数据导出到Excel及Pdf和打印数据
一.前言 用Qt开发已经九年了,期间用Qt做过不少的项目,在各种项目中有个功能很常用,尤其是涉及到数据记录存储的项目,那就是需要对查询的数据进行导出到Excel,或者导出到Pdf文件,或者直接打印查询 ...
- delphi字符串分隔函数用法实例
这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...
- 01.轮播图之二 :tableView 轮播
在做这个tablevew轮播的时候,重要的就是修改frame 和view 的翻转了:::: 也是不难的,概要的设计和scroll 轮播是一致的: 首先是 .h 的文件 @interface Table ...
- jvm minor gc 为什么比 full gc 快很多
1.minor gc 也需要STW,只不过正常情况下 minor gc STW时间非常短,所以很多人误以为没有STW. 这里的正常情况是,Eden 区产生的新对象大部分被回收了,不需要拷贝. 2.M ...