IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis6入门与应用(二)之string -> 正文阅读

[大数据]redis6入门与应用(二)之string

目录

① set?将键key设定为指定字符串的值

② get 返回key的value

③ Mset?同时设置一个或多个 key-value 对

④ Mget?返回所有(一个或多个)给定 key 的值

⑤ incr?将 key 中储存的数字值增一

⑥ decr?将 key 中储存的数字值减一

⑦ incrby?将 key 中储存的数字加上指定的增量值

⑧ decrby?将 key 所储存的值减去指定的减量值

⑨?incrbyfloat?命令为 key 中所储存的值加上指定的浮点数增量值

⑩?用于为指定的 key 追加值

①① strlen?用于获取指定 key 所储存的字符串值的长度


① set?将键key设定为指定字符串的值

?1)如果key已存在,就直接覆盖原来的值,并且忽略原始类型;

?2)如果key已存在并设置了过期时间,就清除过期时间

?3)? 选项:

  • EX?seconds? ?设置键key的过期时间,单位时秒
  • PX?milliseconds?? 设置键key的过期时间,单位时毫秒
  • NX? 只有键key不存在的时候才会设置key的值
  • XX? 只有键key存在的时候才会设置key的值 ? ? ? ? ? ? ??

时间复杂度:O(1)

格式:set key value [EX seconds] [PX milliseconds] [NX|XX]

返回值:如果SET命令正常执行那么回返回OK,否则如果加了NX?或者?XX选项,但是没有设置条件。那么会返回nil。

② get 返回key的value

时间复杂度:O(1)

格式:get key

返回值:

  • 如果key不存在,返回特殊值nil;
  • 如果keyvalue不是string,就返回错误,因为GET只处理string类型的values;
  • 如果key存在且value是string,返回value值

③ Mset?同时设置一个或多个 key-value 对

时间复杂度:O(N),其中 N 是要设置的键数。

格式:mset key value [key value ...]

返回值:总是OK,因为MSET不会失败。

注:MSET是原子的,所以所有给定的keys是一次性set的。

redis> MSET key1 "Hello" key2 "World"
OK
redis> GET key1
"Hello"
redis> GET key2
"World"

④ Mget?返回所有(一个或多个)给定 key 的值

时间复杂度:O(N),其中 N 是要获取的键数。

格式:mget key [key ...]

返回值:指定的key对应的values的list

如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

redis> SET key1 "Hello"
OK
redis> SET key2 "World"
OK
redis> MGET key1 key2 nonexisting
1) "Hello"
2) "World"
3) (nil)

⑤ incr?将 key 中储存的数字值增一

时间复杂度:O(1)

格式:incr key

返回值:执行递增操作后key对应的值

注:

  • 如果指定的key不存在,那么在执行incr操作之前,会先将它的值设定为0
  • 如果指定的key中存储的值不是字符串类型(fix:)或者存储的字符串类型不能表示为一个整数,那么执行这个命令时服务器会返回一个错误(eq:(error) ERR value is not an integer or out of range)。
  • 这个操作仅限于64位的有符号整型数据。
  • 由于redis并没有一个明确的类型来表示整型数据,所以这个操作是一个字符串操作。
redis> SET mykey "10"
OK
redis> INCR mykey
(integer) 11
redis> GET mykey
"11"

⑥ decr?将 key 中储存的数字值减一

时间复杂度:O(1)

格式:decr key

返回值:执行命令之后 key 的值

注:

  • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作;
  • 如果key有一个错误类型的value或者是一个不能表示成数字的字符串,就返回错误;
  • 本操作的值限制在 64 位(bit)有符号数字表示之内;

⑦ incrby?将 key 中储存的数字加上指定的增量值

时间复杂度:O(1)

格式:incrby key increment

返回值:加上指定的增量值之后, key 的值。

注:

  • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令;
  • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误;
  • 本操作的值限制在 64 位(bit)有符号数字表示之内;
redis> SET mykey "10"
OK
redis> INCRBY mykey 5
(integer) 15

⑧ decrby?将 key 所储存的值减去指定的减量值

时间复杂度:O(1)

格式:decrby key decrement

返回值:减去指定的增量值之后, key 的值

注:

  • 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作;
  • 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误;
  • 本操作的值限制在 64 位(bit)有符号数字表示之内;
redis> SET mykey "10"
OK
redis> DECRBY mykey 5
(integer) 5

⑨?incrbyfloat?命令为 key 中所储存的值加上指定的浮点数增量值

其余与incrby类似

⑩?用于为指定的 key 追加值

时间复杂度:O(1)。均摊时间复杂度是O(1), 因为redis用的动态字符串的库在每次分配空间的时候会增加一倍的可用空闲空间,所以在添加的value较小而且已经存在的 value是任意大小的情况下,均摊时间复杂度是O(1) 。

格式:append key value

返回值:追加指定值之后, key 中字符串的长度

注:

  • 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾;
  • 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样;
redis> EXISTS mykey
(integer) 0
redis> APPEND mykey "Hello"
(integer) 5
redis> APPEND mykey " World"
(integer) 11
redis> GET mykey
"Hello World"

①① strlen?用于获取指定 key 所储存的字符串值的长度

时间复杂度:O(1)

格式:strlen key

返回值:字符串值的长度。 当 key 不存在时,返回 0

注:当 key 储存的不是字符串值时,返回一个错误

redis> SET mykey "Hello world"
OK
redis> STRLEN mykey
(integer) 11
redis> STRLEN nonexisting
(integer) 0

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:53:00  更:2021-12-08 13:54:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:28:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码