(基本知识)Redis 字符串(String)相关函数

1.SET:用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型

127.0.0.1:6379> set a 852
OK
127.0.0.1:6379> get a
"852"
127.0.0.1:6379> set a 741
OK
127.0.0.1:6379> get a
"741"
127.0.0.1:6379> 

2.Get :用于获取指定 key 的值。key 不存在返回 nil 。如果key 储存的值不是字符串类型,返回一个错误

127.0.0.1:6379> get a
"741"
127.0.0.1:6379> get ss
(nil)
127.0.0.1:6379> 

3.Getrange :用于获取存储在指定 key 中字符串的子字符串。返回截取得到的子字符串。

start:子字符串开始位置,包括 start

end:子字符串结束位置,包括 end

127.0.0.1:6379> set a "tom is a cat"
OK
127.0.0.1:6379> getrange a 3 5
" is"
127.0.0.1:6379> getrange a 0 3
"tom "
127.0.0.1:6379> getrange a 7 -1
"a cat"
127.0.0.1:6379> 

4.Getset :用于设置指定 key 的值,并返回 key 的旧值

key 无旧值时返回 nil

key 存在但不是字符串类型时返回一个错误

127.0.0.1:6379> getset fis 7415 #此时fis已经设置了值
(nil)
127.0.0.1:6379> get fis
"7415"
127.0.0.1:6379> getset fis 951753
"7415"
127.0.0.1:6379> get fis
"951753"
127.0.0.1:6379> 

5.Mget :返回所有给定的一个或多个key 的值。 如果给定的 key 里面某个 key 不存在,那么这个 key 返回特殊值 nil

返回所有给定 key 的值的列表

127.0.0.1:6379> mget a asd aed tg
1) "tom is a cat"
2) "789"
3) "123"
4) (nil)
127.0.0.1:6379> 

6.Setex :为指定的 key 设置值及其过期时间(以秒为单位)。如果 key 已经存在, SETEX 命令将会替换旧的值  设置成功返回ok

127.0.0.1:6379> setex er 60 a
OK
127.0.0.1:6379> ttl er
(integer) 56
127.0.0.1:6379> ttl er
(integer) 51
127.0.0.1:6379> 

7.Setnx:在指定的 key 不存在时,为 key 设置指定的值,存在key设置返回0  成功返回1 失败返回0

127.0.0.1:6379> exists opq
(integer) 0
127.0.0.1:6379> setnx opq 888
(integer) 1
127.0.0.1:6379> setnx opq 999
(integer) 0
127.0.0.1:6379> get opq
"888"
127.0.0.1:6379> 

8.Setrange :用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。返回被修改后的字符串长度

127.0.0.1:6379> set a "hello tom"
OK
127.0.0.1:6379> setrange a 6 world
(integer) 11
127.0.0.1:6379> get a
"hello world"
127.0.0.1:6379> 

9.Strlen 命令用于获取指定 key 所储存的字符串值的长度

返回字符串值的长度

当 key 不存在时,返回 0

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

127.0.0.1:6379> strlen a
(integer) 11
127.0.0.1:6379> strlen okm
(integer) 0
127.0.0.1:6379> 

10.Mset :用于同时设置一个或多个 key-value 对 返回 OK

127.0.0.1:6379> mset a1 123 a2 456 a3 789
OK
127.0.0.1:6379> get a1
"123"
127.0.0.1:6379> get a2
"456"
127.0.0.1:6379> get a3
"789"
127.0.0.1:6379> 

11.Msetnx :当所有给定 key 都不存在时,同时设置一个或多个 key-value 对

如果其中有一个key存在 多个设置失败返回0

成功返回1

127.0.0.1:6379> msetnx q1 456 q2 789 q3 951
(integer) 1
127.0.0.1:6379> mget q1 q2 q3
1) "456"
2) "789"
3) "951"
127.0.0.1:6379> msetnx q1 741 q4 951
(integer) 0
127.0.0.1:6379> get q1
"456"
127.0.0.1:6379> get q4
(nil)
127.0.0.1:6379> 

12.Psetex :以毫秒为单位设置 key 的生存时间  成功时返回 OK

127.0.0.1:6379> psetex a 147895 ppp
OK
127.0.0.1:6379> pttl a
(integer) 139837
127.0.0.1:6379> pttl a
(integer) 137313
127.0.0.1:6379> pttl a
(integer) 136016
127.0.0.1:6379> 

13.Incr 命令将 key 中储存的数字值加1

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

127.0.0.1:6379> incr wsx
(integer) 1
127.0.0.1:6379> get wsx
"1"
127.0.0.1:6379> incr wsx
(integer) 2
127.0.0.1:6379> incr wsx
(integer) 3
127.0.0.1:6379> set d 50
OK
127.0.0.1:6379> incr d
(integer) 51
127.0.0.1:6379> incr d
(integer) 52
127.0.0.1:6379> incr d
(integer) 53
127.0.0.1:6379> 

14.Incrby 命令将 key 中储存的数字加上指定的增量值

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

127.0.0.1:6379> exists zx
(integer) 0
127.0.0.1:6379> incrby zx 30
(integer) 30
127.0.0.1:6379> get zx
"30"
127.0.0.1:6379> incrby zx 20
(integer) 50
127.0.0.1:6379> get zx
"50"
127.0.0.1:6379> set y ‘ppp‘
OK
127.0.0.1:6379> get y
"ppp"
127.0.0.1:6379> incrby y 20
(error) ERR value is not an integer or out of range
127.0.0.1:6379> 

15.Incrbyfloat :为 key 中所储存的值加上指定的浮点数增量值

如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作

127.0.0.1:6379> set a 5
OK
127.0.0.1:6379> incrbyfloat a 1.1
"6.1"
127.0.0.1:6379> INCRBYFLOAT a 1.000000000000
"7.1"
127.0.0.1:6379> 

16.Decr :将 key 中储存的数字值减1

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

127.0.0.1:6379> get a
"7.1"
127.0.0.1:6379> decr a
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set a 55
OK
127.0.0.1:6379> decr a
(integer) 54
127.0.0.1:6379> decr a
(integer) 53
127.0.0.1:6379>

17.Decrby :将 key 所储存的值减去指定的减量值

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

127.0.0.1:6379> get a
"53"
127.0.0.1:6379> decrby a 30
(integer) 23
127.0.0.1:6379> decrby a 10
(integer) 13
127.0.0.1:6379> 

18.Append 命令用于为指定的 key 追加值

如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样

127.0.0.1:6379> exists yhn
(integer) 0
127.0.0.1:6379> append yhn 852
(integer) 3
127.0.0.1:6379> append yhn 999
(integer) 6
127.0.0.1:6379> get yhn
"852999"
127.0.0.1:6379> 

原文地址:https://www.cnblogs.com/ddf128/p/12179319.html

时间: 2024-08-01 11:35:38

(基本知识)Redis 字符串(String)相关函数的相关文章

Redis 字符串(String)

Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET w3ckey redis OK redis 127.0.0.1:6379> GET w3ckey "redis" 在以上实例中我们使用了 SET 和 GET 命令,键为 w3ckey. Redis 字符串命令 下表列出了常用的 redis 字符串

redis 字符串(string)函数

字符串(string)函数 get 命令/方法/函数 Description Get the value related to the specified key 取得与指定的键值相关联的值 Parameters key Return Value String or Bool: If key didn't exist, FALSE is returned. Otherwise, the value related to this key is returned. 返回相关值或者BOOL值,如果K

Redis 字符串(String)

Redis 字符串(String) Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> GET runoobkey "redis" 在以上实例中我们使用了 SET 和 GET 命令,键为 runoobkey. Red

Redis 命令-字符串(String)

Redis 字符串(String) Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> GET runoobkey "redis" 在以上实例中我们使用了 SET 和 GET 命令,键为 runoobkey. Red

redis的string类型

1.简单描述 string类型是redis最基本的类型,而且string类型是二进制安全的,就是说redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象.string类型最大可以存储1G字节数据.另外,string类型可以被部分命令(比如inrc)按照int类型处理.如果只使用string类型,那么redis可以被当做是拥有持久化功能的memcached,但是redis的string类型的操作比memcached多很多,下面来看具体的命令. 2.相关命令(基于4.0.1版本

一、Redis基本操作——String(原理篇)

小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照搬原作者的描述),加上小喵自己的想法,之后配合Redis官网上的各种相关的操作命令(原书上貌似没有很多的介绍命令). 小喵的个人博客地址: http://miaoerduo.com, 随时欢迎各位的大家. 本章介绍Redis中最常用到的字符串(String). Redis的字符串(String)的实现 小喵之

一:redis 的string类型相关操作

*redis客户端中的使用: =============一种:string类型的方法================ 介绍:string是redis的最简单类型,一个key对应一个value,string类型是二进制安全的. redis的string可以包含任何数据,比如jpg图片或者序列化的对象 1:一个key只包含一个value值,当设置相同值时=会覆盖 设置值:set name leyangjun 获取值:get name 2:setnx:(会判断设置的值是否存在,不存在则设置) 设置ke

redis类型[string 、list 、 set 、sorted set 、hash]

1. Keys redis本质上一个key-value db,所以我们首先来看看他的key. 首先key也是字符串类型,但是key中不能包括边界字符:由于key不是binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的key是不允许的 注: 顺便说一下在redis内部并不限制使用binary字符,这是redis协议限制的."\r\n"在协议格式中会作为特殊字符. redis 1.2以后的协议中部分命令已经开

redis数据类型-string、hash、list、set、zset

String 类型操作string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象. $redis->set('key','TK'); $redis->set('number','1'); $redis->setex('key',5,'TK'); //设置有效期为5秒的键值 $redis->psetex('key',5000,'TK'); //设置有效期为5000毫秒(同5秒)的键值 $re